我正在编写一个WPF示例应用程序,并且我希望在视图中显示项目列表。视图的MainViewModel
包含ObservableCollection<ItemViewModel>
。显然ItemViewModel
是如此具体,以至于没有任何东西可以从中抽象出来。
问题 - 当我在MainViewModel
中构建这些项目的集合时,可以手动实例化ItemViewModel
,还是应该委托给DI容器?
我熟悉MVVM(和DI也是如此),所以这里要指出的是不是ItemViewModel
(我需要它)。但如果DI仍适用于此,我会寻求澄清。
答案 0 :(得分:0)
当我在MainViewModel中构建这些项目的集合时,可以手动实例化ItemViewModels,还是应该委托给DI容器?
你当然可以构建ItemViewModel
个对象&#34;手动&#34;使用new
运算符,如果这就是您的要求。这种方法没有错。如果你不必要,你为什么要费心用容器来创造这些呢?
如果ItemViewModel
有一些依赖关系,MainViewModel
也会有这些依赖关系,因为它是知道如何创建ItemViewModels
的类。
所以你基本上可以为MainViewModel
注入它和ItemViewModel
类所具有的依赖关系。