我需要在Initialize方法中使用的Module.The模块注册表中显示视图。用户将从下拉列表中选择模块名称。第一次使用IModuleManager.LoadModule(string ModuleName)时,它可以正常工作。如果我想再次重新显示相同的模块(在清除之前显示的模块后在相同的区域中),IModuleManager.LoadModule将不起作用。我不知道该模块中包含的视图和区域。我只知道ModuleName,我需要显示它的视图。我该怎么做呢?
发布于 2012-11-08 15:47:05
你的问题很让人困惑。你能提供更多的信息吗?IRegionManager是将视图注册到预定义区域的组件。如果我没记错,ModuleManager只负责加载程序集。
我不认为你可以多次加载一个模块,因为第二次加载它已经被加载了。显示视图的逻辑应该通过您的模块中的服务进行管理,因此在您的模块中应该有一个使用IRegionManager将特定视图注册到区域的方法。
我不知道你使用的是统一还是MEF (或者其他IOC ),但是你可以通过容器在你的模块中获得IRegionManager。
也许你应该看看这个系列教程Prism Tutorial Series。在我看来,你遗漏了一些基本原则
https://stackoverflow.com/questions/13282344
复制相似问题