我正在开发一个WPF应用程序,我必须根据其他视图模型(ChildModel)的集合对viewmodel(GroupedViewModel)进行分组.
视图模型和属性更改的集合:
ObservableCollection<ChildModel> chlidModelCollection;
//initialize child model
childModel.PropertyChanged += OnChildModelPropertyChanged
public void OnChildModelPropertyChanged(object sender,
PropertyChangedEventArgs args)
{
//try grouping GroupViewModel
//do some tasks which takes little over time
}
Run Code Online (Sandbox Code Playgroud)
由于Child Viewmodel有10个属性,因此对属性的任何更改都会调用OnChildModelPropertyChanged10次.对于集合中10个子模型的集合,OnChildModelPropertyChanged称为10*10 = 100次.这会影响性能.
对于子视图模型集合中的所有属性更改,是否有一种方法可以获取聚合或最终变更集.我错过了什么吗?