我正在尝试使用 MSDN 中 Todd Miranda 的精彩“How Do I”视频中的 MVVM 示例。
我正在尝试根据我的学习目的调整该示例。
在示例中,他有一个名为EmployeeListViewModel的 ViewModel。现在,如果我想包含部门,我是否应该创建另一个 ViewModel,例如 DepartmentListViewModel?
该示例将EmployeeRepository作为数据源。就我而言,我尝试使用 Entity 对象作为数据源(Model 文件夹中的 Employees.edmx 和EmployeeRepository.cs < em>DataAccess 文件夹)。如果我想显示部门列表,是否应该创建一个名为 DepartmentRepository 的单独类并将所有与部门相关的方法定义放在那里?
如果我想同时检索员工姓名及其部门名称怎么办?我应该将方法放在哪里?
我对 WPF 和 MVVM 非常陌生,如果以上任何内容需要重新措辞,请告诉我。
感谢您的所有帮助。
最佳答案
是的,通常每个 View (页面、窗口、屏幕)都应该有它自己的 ViewModel。因此,如果您想要一个列出一些员工的屏幕,您的 ViewModel 将具有某种员工集合 (IEnumerable) 作为属性。然后,您的员工类型将包含其姓名、部门、电话分机号(等)的属性。
从您的问题中我不清楚您是否要在同一页面上显示员工和部门列表。如果这就是您想要做的,那么您的 ViewModel 中将有两个属性,它们是如下所示的某种集合:
public class EmployeeListViewModel {
public IEnumerable<Employee> Employees { get; set; }
public IEnumerable<Department> Departments { get; set; }
}
...这将允许您在 View 上显示这两个集合。
关于WPF/MVVM - 我们应该为每个 ViewModel 创建一个不同的类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3026317/