C# 使用MVVM灯光,ViewModelLocator是否保留所有ViewModel?

C# 使用MVVM灯光,ViewModelLocator是否保留所有ViewModel?,c#,wpf,mvvm,viewmodel,mvvm-light,C#,Wpf,Mvvm,Viewmodel,Mvvm Light,我用的是MVVM灯 这是我的设想: 我想通过一个窗口添加一个或多个学生,有两种方法可以实现。 第一个是列出所有学生(显示UserControl1),另一个是手动输入学生的姓名(显示UserControl2) 窗口由一个ContentControl(这是两个UserControls中的一个)和底部的一些按钮组成 窗口和两个不同的用户控件对应3种不同的视图模型(AddStudentsViewModel、AutoScanStudentsViewModel和ManuallyAddStudentView

我用的是MVVM灯

这是我的设想:

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

窗口由一个
ContentControl
(这是两个
UserControl
s中的一个)和底部的一些
按钮组成

窗口和两个不同的用户控件对应3种不同的视图模型(AddStudentsViewModel、AutoScanStudentsViewModel和ManuallyAddStudentViewModel)


我是MVVM新手,所以我无法确定是将3个视图模型全部放在ViewModelLocator中,还是将后两个视图模型放在AddStudentsViewModel中?

对于您给出的特定示例,我将后两个视图模型作为AddStudentsViewModel的属性公开

但是,如果后两个ViewModel单独显示(即在弹出窗口中显示)是有效的,则没有理由不将它们添加到ViewModelLocator中