1

我有一个使用 Unity 作为 IoC 容器的 Prism WPF 应用程序,其中包含一个名为“LanguageModule”的模块:

我的 ShellViewModel 需要这个模块的一个实例。我的 Shell 需要一个 ShellViewModel 的实例。

但是在我的模块加载之前调用了CreateShell方法。难道我做错了什么?

我的模块将自己添加到容器中是否正确(InitialzeCode:)?

container.RegisterInstance(typeof(ILanguageService), new LanguageServicePrototype());

如何将我的语言服务添加为模块?

4

1 回答 1

0

在通过 bootStrapper 对 InitializeModules 的调用初始化其他模块之前调用 CreateShell。

因此,与其编写自己的派生引导程序类来以某种方式解决这个问题(如果可以的话),不如将你在 shellViewModel 中的所有内容(取决于语言模块)重构为它自己的单独模块,然后设置一个模块依赖于您的语言模块。

于 2013-09-22T02:21:07.513 回答