假设应用程序中的一些(不是全部)模型是静态的,并且被定义为 BaseViewModel 的成员,这样多个 ViewModel(以及扩展视图)可以通过点击它们继承的数据来访问完全相同的数据。这是一个非常基本的布局,其中两个派生类可以访问同一个模型:
public class EmployeeModel
{
public string Name;
public int Id;
}
public class BaseViewModel
{
private static EmployeeModel employeeModel = new Employee Model();
public EmployeeModel EModel
{
get { return employeeModel; }
set { employeeModel = value; }
}
public BaseViewModel() {}
}
public class EmployeeViewModel : BaseViewModel
{
public EmployeeViewModel()
{
base.Emodel.Name = "";
}
}
public class HomeViewModel : BaseViewModel
{
public EmployeeViewModel()
{
base.Emodel.Name = "";
}
}
最后,它完成了工作,因为相同的数据现在在多个视图中显示而没有问题。但是,这并不意味着没有我不知道的更合适的方式。由于我是 WPF 的新手,所以我不得不问:“为 MVVM 模式制作模型静态好的实践吗?” 另外,这个实现是否可以优化,如果可以,如何优化?