【发布时间】:2015-05-10 22:18:51
【问题描述】:
我注意到 MVVM Light 框架中 ViewModelBase 的每个孩子都可以覆盖构造函数
public ViewModelBase(IMessenger messenger)
在模型更改时使用 IMessenger 与模型到 ViewModel 通信并更新 ViewModel 是否可以(从架构上讲)?
这意味着每个模型都有自己的 IMessenger 实例,每个视图模型都会订阅这些消息。
现在我正在使用这样的界面
public interface IModel
{
event EventHandler<ModelStatusChangedArgs> StatusChanged;
}
对于每个有点……痛苦的模型,我觉得我做错了什么。
【问题讨论】:
-
我认为您正在寻找 inotifypropertychanged ?
-
@JTIM,我认为 ViewModelBase 实现了 INotifyPropertyChanged。
-
啊,我知道这个接口(也是 VMB-ViewModelBase 实现的)。我想用它来收藏。假设我的 ViewModel 中有 ObservableCollection,我想通知 From Model 到 ViewModel 我的项目已添加到集合中。
-
通知是你想在viewmodel中调用一个事件函数或者observableCollection更新了,这样你就可以在view中显示新的信息了?
标签: c# mvvm mvvm-light