这种情况适合DI吗?

时间:2018-02-17 19:50:24

标签: wpf mvvm dependency-injection

我正在编写一个WPF示例应用程序,并且我希望在视图中显示项目列表。视图的MainViewModel包含ObservableCollection<ItemViewModel>。显然ItemViewModel是如此具体,以至于没有任何东西可以从中抽象出来。

问题 - 当我在MainViewModel中构建这些项目的集合时,可以手动实例化ItemViewModel,还是应该委托给DI容器?

我熟悉MVVM(和DI也是如此),所以这里要指出的是不是ItemViewModel(我需要它)。但如果DI仍适用于此,我会寻求澄清。

1 个答案:

答案 0 :(得分:0)

  

当我在MainViewModel中构建这些项目的集合时,可以手动实例化ItemViewModels,还是应该委托给DI容器?

你当然可以构建ItemViewModel个对象&#34;手动&#34;使用new运算符,如果这就是您的要求。这种方法没有错。如果你不必要,你为什么要费心用容器来创造这些呢?

如果ItemViewModel有一些依赖关系,MainViewModel也会有这些依赖关系,因为它是知道如何创建ItemViewModels的类。

所以你基本上可以为MainViewModel注入它和ItemViewModel类所具有的依赖关系。