0

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

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

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

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

任何人 ?所有帮助表示赞赏!

4

1 回答 1

2

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

在理解这一点并处理类似于问题中的场景时,以下线程很有用:

我希望这很有用。

谢谢,达米安

于 2010-09-20T21:38:59.463 回答