C# MVVM:如何将ObservableCollection传递给其他viewmodels?
我正在设计一个MVVM框架,我需要知道我对MVVM模式的理解是否正确。我的问题很简单。我应该如何在VIE模型之间传递ObservableCollection对象?或者我不应该 我有一个CustomServiceWModel,它有一个可观察的集合来保存客户列表。我还有一个InsertCustomerViewModel,负责将新的客户模型插入到ObservableCollection中。在InsertCustomerViewModel中,我有一个名为Insert()的方法,每当用户单击Insert按钮时都会调用该方法 到目前为止,我所做的是将ObsertvableCollection从CustomerServiceWModel传递到InsertCustomerViewModel的构造函数,然后在Insert方法中我有Items.Add(newCustomer)C# MVVM:如何将ObservableCollection传递给其他viewmodels?,c#,wpf,mvvm,viewmodel,C#,Wpf,Mvvm,Viewmodel,我正在设计一个MVVM框架,我需要知道我对MVVM模式的理解是否正确。我的问题很简单。我应该如何在VIE模型之间传递ObservableCollection对象?或者我不应该 我有一个CustomServiceWModel,它有一个可观察的集合来保存客户列表。我还有一个InsertCustomerViewModel,负责将新的客户模型插入到ObservableCollection中。在InsertCustomerViewModel中,我有一个名为Insert()的方法,每当用户单击Insert按
我的实现正确吗?或者有更好的方法来完成这项工作吗?我会将
CustomerServiceWModel
传递给InsertCustomerViewModel
,并公开集合的属性。这样,您就可以直接从InsertCustomerViewModel
使用和修改该集合 从我的角度来看,InsertCustomerViewModel
在这里没有任何意义。当用户插入客户时,它只应添加CustomerCollection
类,该类应为多个ViewModels的模型
我认为这个想法应该是通过一些常见的实例在两个ViewModels之间共享相同的
CustomerCollection
模型。谢谢。传递CustomerViewModel而不是collection属性有什么好处吗?它只允许您访问CustomerViewModel
collection属性,这有助于将修改后的集合恢复到该视图模型中…我相信MVVM Light Toolkit()的源代码可以在线获得,您可以看到他是如何实现Messenger类的