【发布时间】:2012-05-15 10:53:12
【问题描述】:
我有一个基于 MVVM 的 WPF 应用程序,带有 Caliburn.Micro 和 Ninject。我有一个名为 ShellViewModel 的根视图模型。它有几个在 Caliburn 的 Bootstrapper 中配置的依赖项(通过构造函数注入)。到目前为止一切顺利。
在某个地方,有一个带有几个按钮的 MenuViewModel,它们依次打开其他具有自己依赖项的视图模型。这些视图模型不是在创建根对象期间创建的,但我仍然想从我的 IoC 容器中将依赖项注入它们。
我在service locator vs dependency injection 上阅读了这个问题,我理解所提出的观点。
我的印象是,我的 MenuViewModel 需要能够访问我的 IoC 容器才能正确注入动态制作的视图模型……这是我试图避免的事情。还有其他方法吗?
【问题讨论】:
标签: mvvm dependency-injection inversion-of-control service-locator