【问题标题】:WPF Prism reloading module using IModuleManager.LoadModule使用 IModuleManager.LoadModule 的 WPF Prism 重新加载模块
【发布时间】:2012-11-08 15:47:05
【问题描述】:

我需要在模块中显示视图。模块使用Initialize 方法注册它的视图。 用户将从下拉列表中选择模块名称。第一次使用 IModuleManager.LoadModule(string ModuleName)。如果我想再次重新显示相同的模块(在清除先前显示的模块后在同一区域中)IModuleManager.LoadModule 将不起作用。我不知道该模块中包含的视图和区域。我只知道 ModuleName,我需要显示它的视图。 我该怎么做?

【问题讨论】:

    标签: wpf prism


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多