0

我需要在模块中显示视图。模块使用 inInitialize方法注册它的视图。用户将从下拉列表中选择模块名称。第一次使用 I ModuleManager.LoadModule(字符串 ModuleName)。如果我想再次重新显示相同的模块(在清除先前显示的模块后在同一区域中)IModuleManager.LoadModule将无法正常工作。我不知道该模块中包含的视图和区域。我只知道 ModuleName,我需要显示它的视图。我怎样才能做到这一点?

4

1 回答 1

0

你的问题非常令人困惑。你能提供更多信息吗?IRegionManager 是将视图注册到预定义区域的组件。如果我做对了,ModuleManager 只负责加载程序集。

我认为您不能多次加载模块,因为第二次已经加载了。显示视图的逻辑应该通过您的 Modul 中的服务进行调节,因此在您的模块中应该是一个使用 IRegionManager 将特定视图注册到区域的方法。

我不知道您是使用 Unity 还是 MEF(或其他 IOC),但您可以通过容器在模块中获取 IRegionManager。

也许您应该观看本教程系列Prism 教程系列。在我看来,您缺少一些基本原则

于 2012-11-08T07:47:05.140 回答