我正在设计一个MVVM框架,我需要知道我对MVVM模式的理解是否正确。我的问题很简单。我应该如何在VieModels之间传递ObservableCollection对象?或者不应该?
我有一个CustomerViewModel,它有一个ObservableCollection来保存客户列表。我还有一个InsertCustomerViewModel,它负责将新的客户模型插入到ObservableCollection中。在InsertCustomerViewModel中,我有一个名为Insert()的方法,每次用户单击“插入”按钮时都会调用该方法。
我到目前为止所做的是将CustomerViewModel中的ObsertvableCollection传递给InsertCustmerViewModel的构造函数,然后在Insert方法中传递Items.Add(newCustomer)。
我的实施是否正确?或者有更好的方法来完成这项工作吗?
答案 0 :(得分:1)
我会将CustomerViewModel
传递给InsertCustomerViewModel
并公开该集合的属性。这样您就可以直接从InsertCustomerViewModel
使用和修改该集合。
答案 1 :(得分:0)
从我的观点来看InsertCustomerViewModel
在这里没有任何意义。当用户插入客户时,它应该只添加CustomerCollection
类,该类应该是多个ViewModel的模型。
我认为这个想法应该通过一些常见的实例在两个ViewModel中共享相同的CustomerCollection
模型。