我是一名学习 MVVM 的学生,我正在开发一个 WPF 应用程序。当我必须从 ViewModel_1 实例化 ViewModel_2 时,我的问题就出现了。ViewModel_2 依赖于在 IoC 容器中注册的 XService。因此,当我要求容器解析 ViewModel_2 时,它会创建所需的服务,将其注入构造函数,并提供 ViewModel。
我的问题是:我一直读到容器不应该被任何类引用,而是管理其生命周期的引导程序,那么谁将 ViewModel_2 提供给 ViewModel_1?
我能想到的唯一解决方案是在 ViewModel_1 的 ctor 中放置一个 Lazy,并在需要时访问它,但是如果我要从那里管理多个 VM 怎么办?
我希望你能帮助我。非常感谢,新年快乐!=)