我需要在ObservableCollection的所有者中处理ObservableCollection中项目的PropertyChanged事件。必须有一个比以下更优雅的方式:
ObservableCollection(MyViewModel) myViewModels = new ObservableCollection<MyViewModel>();
LoadMyViewModels(myViewModels); // populates the collection
foreach (MyViewModel myViewModel in myViewModels)
{
myViewModel.PropertyChanged += PropertyChangedEventHandler(MyViewModelPropertyChanged);
}
我想将MyViewModelPropertyChanged事件处理程序传递给LoadMyViewModel,因此我不必遍历集合两次(一次加载和一次事件分配)。
MyViewModelPropertyChanged在UI上反映的包含视图上设置属性(该集合绑定到TreeView,我需要根据项目是否已经选中来启用/禁用UI中的字段。)
如果不是所有引用的帖子,我都会查看最多,但我有点失落。
上面的代码完成了我需要做的事情,但我知道有更好的方法。请引用适当的参考或代码示例。
感谢。
答案 0 :(得分:0)