每个模块的菜单项,模块内容使用Prism或MEF动态加载

dig*_*que 7 navigation wpf prism mef mvvm

我正在开发一个目前使用Prism和MEF的应用程序.

理想情况下,我希望为每个模块生成一个带有项目的工具栏或菜单,当单击某个项目时,只有该模块中声明的视图才会加载到选项卡控件中.

例如:

菜单区域:ModuleA(已选择)| ModuleB

选项卡区域:ModuleAViewA | ModuleAViewB | ModuleAViewC

对菜单区域的更改:员工| 库存(选择)的

标签区域:项目| 在Fi

Mat*_*dan 11

这里有很多类似的问题.通常,您将采用的方法是在模块可以引用的基础结构DLL中定义服务.您的模块将通过服务添加菜单/工具栏/功能区项目/任何对象.服务的实现取决于您 - 它可以位于Shell项目,基础结构或单独的模块中.显然,如果它在一个单独的模块中,你必须确保你的其他模块将它定义为依赖.

您可能需要查看以下内容:

这个链接指向一个展示动态菜单的项目: 寻找模块的Prism示例,将模块加载到菜单中

我在其中询问如何构建动态菜单的问题: 如何动态地将MenuItems(带有标题)添加到WPF菜单

更多.... 在区域中加载模块默认视图以创建菜单

和更多! Prism应用程序CAL中的菜单服务

你可以找到更多这样的东西.这是一个相当普遍的要求; 我相信你可以从那里的代码样本中拼凑出一个很好的方法.