我有一个基于 Caliburn Micro 框架的桌面应用程序。一切都很好。现在我正在尝试将相同的应用程序作为插件移植到 Outlook 中。
在桌面应用程序中,根据 app.xaml 中的条目,Caliburn 知道在哪里可以找到引导程序并对其进行实例化。
对于 Outlook 插件,我创建了一个重写的引导程序,我在 ThisAddIn.ThisAddIn_Startup() 中显式地实例化它。这当然不使用 Application 对象。
我什至可以使用与此类似的代码调用特定视图
var windowManager = IoC.Get<IWindowManager>();
windowManager.ShowDialog(new MyViewModel());
这将导致与视图模型关联的视图显示在 Outlook 顶部的模式窗口中(因此验证 Caliburn Micro 能够从我的 Outlook 插件中的视图模型中找到视图)
我还没有弄清楚如何实例化 Shell,以便我可以开始使用它的功能。
我的期望是,由于我的引导程序派生自 BootStrapper,并且我已使用 MEF 容器将我的 shell 视图模型实现注册为导出 IShell,Caliburn 将自动实例化 shell 视图模型并开始使用它。那没有发生。
我的目标是将外壳加载到我的插件的任务窗格中,作为我将根据用户操作加载的其他视图的容器。
关于如何让它发挥作用的任何想法或提示?一般来说,是否有人在 Outlook 或 Office 插件的任务窗格中加载了 shell 实现?
谢谢!