使用MVVM Light,ViewModelLocator可以保存所有ViewModel吗?

时间:2013-09-29 05:59:23

标签: c# wpf mvvm viewmodel mvvm-light

我正在使用MVVM Light。

这是我的情景:

我想通过一个窗口添加一个或多个学生,有两种方法可以实现这一目标。 第一个是列出所有学生(显示UserControl1),另一个是手动输入学生的名字(显示UserControl2)。

WindowContentControl(两个UserControl之一)和底部的Button组成。

enter image description here

Window和两个不同的UserControl对应3个不同的Viewmodel(AddStudentsViewModel,AutoScanStudentsViewModel和ManuallyAddStudentViewModel)。

我是MVVM的新手,所以我无法确定是将3个ViewModel全部放入ViewModelLocator还是将后2个ViewModel放入AddStudentsViewModel?

1 个答案:

答案 0 :(得分:1)

对于您提供的具体示例,我将后两个ViewModel公开为AddStudentsViewModel的属性。

但是,如果后两个ViewModel有效显示,即在PopupWindow中显示,则没有理由不将它们添加到ViewModelLocator中。