我正在使用Prism的CAG开发WPF应用程序。我想要实现的是创建模块的新实例(ModuleA)并将它们加载到TabControl中。 我能够使用moduleInfo对象实例化模块,并通过Assembly加载它们并调用CreateModule(type)方法。
我实际上可以在UI中看到不同的模块,但问题是当我开始与不同的模块交互时(例如,在范围区域中加载或卸载视图),所有活动似乎只发生在最后加载的模块上。
因此,例如我将ModuleA的2个'实例'作为2个TabItems,它们都有Load()新视图的命令按钮。当我选择第一个模块(通过选择第一个TabItem)并单击按钮以放置视图时,视图将加载到第二个模块中。
任何人都知道如何排序这个问题?让我相信,即使我在UI上看到'两个单独的模块,实际上只有一个实例或CreateModule创建克隆?
任何人?所有人都很感激!
答案 0 :(得分:2)
正如Erik所解释的那样,加载模块和视图是Prism中非常不同的概念。
以下主题在理解这一点并处理类似于问题的方案时非常有用:
我希望这很有用。
谢谢, 达米安