0

我是一名学习 MVVM 的学生,我正在开发一个 WPF 应用程序。当我必须从 ViewModel_1 实例化 ViewModel_2 时,我的问题就出现了。ViewModel_2 依赖于在 IoC 容器中注册的 XService。因此,当我要求容器解析 ViewModel_2 时,它会创建所需的服务,将其注入构造函数,并提供 ViewModel。

我的问题是:我一直读到容器不应该被任何类引用,而是管理其生命周期的引导程序,那么谁将 ViewModel_2 提供给 ViewModel_1?

我能想到的唯一解决方案是在 ViewModel_1 的 ctor 中放置一个 Lazy,并在需要时访问它,但是如果我要从那里管理多个 VM 怎么办?

我希望你能帮助我。非常感谢,新年快乐!=)

4

1 回答 1

0

据我了解,您拥有ViewModel_1包含属性ViewModel_2。你需要ViewModel_2用 DI 注入它。在这个简单的例子中,你可以注入ViewModel_2.ViewModel_1

您应该向我们提供有关“如果我有多个虚拟机要从那里管理怎么办”的更多详细信息。你说的是什么虚拟机?那是哪里”?如果您发布代码,ViewModel_1它将ViewModel_2有助于理解您的问题。

于 2012-12-30T05:59:29.857 回答