我正在开发目前使用Prism和MEF的应用程序。
我最好生成一个包含每个模块项目的工具栏或菜单,当单击一个项目时,只有该模块中声明的视图才会加载到选项卡控件中。
例如:
菜单区域: ModuleA(已选定)| ModuleB
标签区域: ModuleAViewA | ModuleAViewB | ModuleAViewC
改为 菜单区域: 员工|库存(选择)的
标签区域: 项目|在Fi
答案 0 :(得分:11)
这里有很多类似的问题。通常,您将采用的方法是在模块可以引用的基础结构DLL中定义服务。您的模块将通过服务添加菜单/工具栏/功能区项目/任何对象。服务的实现取决于您 - 它可以位于Shell项目,基础结构或单独的模块中。显然,如果它在一个单独的模块中,你必须确保你的其他模块将它定义为依赖。
您可能需要查看以下内容:
这个链接指向展示动态菜单的项目: Looking for Prism example of Modules loading themselves into a menu
我在其中询问有关如何构建动态菜单的问题: How to dynamically add MenuItems (with a header) to a WPF menu
更多.... Load Module Default Views In Region to Create Menu
还有更多! Menu service in Prism application CAL
你可以找到更多这样的东西。这是一个相当普遍的要求;我相信你可以从那里的代码示例中找到一个好方法。