我需要在模块中显示视图。模块使用Initialize
方法注册它的视图。
用户将从下拉列表中选择模块名称。第一次使用I ModuleManager.LoadModule
(字符串ModuleName)。如果我想再次重新显示相同的模块(在清除以前显示的模块后在同一区域中)IModuleManager.LoadModule
不起作用。我不知道该模块中包含的视图和区域。我只知道ModuleName,我需要显示它的视图。
我怎么能这样做?
答案 0 :(得分:0)
你的问题非常混乱。你能提供更多信息吗? IRegionManager是将视图注册到预定义区域的组件。如果我做对了,ModuleManager只负责加载程序集。
我认为您不能多次加载模块,因为它已经第二次加载。显示视图的逻辑应该通过模块中的服务进行调节,因此模块内部应该是一个使用IRegionManager将特定视图注册到区域的方法。
我不知道您是使用Unity还是MEF(或其他IOC),但您可以通过Container获取模块中的IRegionManager。
也许你应该看一下这个教程系列Prism Tutorial Series。在我看来,你缺少一些基本原则