我一直在创建一个 WPF 应用程序,它最初作为任务栏图标加载,然后在单击时打开一个适当的窗口。这是一个原型,我想转移到 Prism 并观看了 Mike Taulty (channel9.msdn.com/niners/mtaulty) 的(极好的)视频,我觉得我需要做的是创建一个具有执行所有服务注册但不创建初始 shell 而是简单地加载模块并可能标识要运行的模块的自定义引导程序。有没有人做过类似的事情,如果有的话,我要做多少工作?
问问题
1257 次
1 回答
2
好的,我硬着头皮试了一下。我应该首先声明我使用的是 Autofac 版本的 Bootstrapper。
- 我将 null 返回给 CreateShell
- 我在 App.Xaml 顶部的声明中标记了应用程序 ShutdownMode="OnExplicitShutdown"(重要的是,否则它会在您关闭最后一个窗口时关闭应用程序)
- 我创建了一个模块(IModule 派生),由 Philipp Summi 加载 WPF 通知图标(http://www.codeproject.com/Articles/36468/WPF-NotifyIcon)
- 响应来自此图标上下文菜单的命令,我只需创建窗口及其视图模型并显示它。
这一切都如我所愿。我唯一要做的就是看看如何在这些临时窗口中使用区域,尽管其他文章似乎已经涵盖了这一点。我不相信 Autofac 引导程序会给我带来任何巨大的优势,但我使用 Autofac 开发了一个非常早期的原型并坚持使用它,因为它运行顺利。从长远来看,我可能会使用 Unity 或 MEF,以避免兼容性问题并允许从外部插件加载动态模块。
于 2013-09-05T04:28:24.697 回答