Prism CAG-WPF-模块的新实例?只是克隆实例吗?

Prism CAG-WPF-模块的新实例?只是克隆实例吗?,wpf,prism,Wpf,Prism,我正在使用Prism的CAG开发一个WPF应用程序。我想要实现的是创建模块(ModuleA)的新实例,并将它们加载到TabControl中。 我能够使用moduleInfo对象实例化模块,并通过程序集加载它们并调用CreateModule(type)方法 我实际上可以在UI中看到不同的模块,但问题是当我开始与不同的模块交互时(例如,加载或卸载范围区域中的视图),所有活动似乎只发生在最后加载的模块上 例如,我有两个ModuleA的“实例”作为两个选项卡项,它们都有用于加载()新视图的命令按钮。当我

我正在使用Prism的CAG开发一个WPF应用程序。我想要实现的是创建模块(ModuleA)的新实例,并将它们加载到TabControl中。 我能够使用moduleInfo对象实例化模块,并通过程序集加载它们并调用CreateModule(type)方法

我实际上可以在UI中看到不同的模块,但问题是当我开始与不同的模块交互时(例如,加载或卸载范围区域中的视图),所有活动似乎只发生在最后加载的模块上

例如,我有两个ModuleA的“实例”作为两个选项卡项,它们都有用于加载()新视图的命令按钮。当我选择第一个模块(通过选择第一个选项卡项)并单击按钮来加载视图时,视图将加载到第二个模块中

有人知道如何解决这个问题吗?让我相信,即使我在UI上“看到”两个独立的模块,实际上只有一个实例,或者CreateModule创建了克隆


有人吗?感谢大家的帮助

正如Erik所解释的,加载模块和视图在Prism中是非常不同的概念

当理解这一点并处理与问题类似的场景时,以下线程非常有用:

我希望这是有用的

谢谢,
达米安

我觉得有些术语混淆了。模块(在棱镜中)指(通常)组件边界。实际上并没有将模块加载到UI的概念。有一个将视图从模块加载到区域的概念,但我不确定这与您所说的有什么关系。