NotifyOfPropertyChange<ObservableCollection<BaseMdmViewModelCollection>>(() => SubItemsViewModels);
答案 0 :(得分:3)
它正在调用带签名的通用函数
NotifyOfPropertyChange<T>(Func<BaseMdmViewModelCollection>)
() => SubItemsViewModels
与
相同delegate { return SubItemsViewModels; }
换句话说,
NotifyOfPropertyChange<ObservableCollection<BaseMdmViewModelCollection>>(() => SubItemsViewModels);
与
相同NotifyOfPropertyChange<ObservableCollection<BaseMdmViewModelCollection>>(Foo);
Foo将在哪里
private BaseMdmViewModelCollection Foo()
{
return SubItemsViewModels;
}
答案 1 :(得分:3)
简单来说:当可观察集合发生变化时,返回子项目视图模型。
答案 2 :(得分:0)
我愿意打赌你的NotifyOfPropertyChange
方法正在使用Func
来简单地获取已更改的属性的名称。这为您提供了属性更改的编译时安全性,这比说NotifyPropertyChange("SubItemsViewModels")
更为可取。此方法在WPF和Silverlight数据绑定中广泛使用,但也是一种在许多场景中有用的通用模式。
答案 3 :(得分:0)
你有一个方法 NotifyOfPropertyChange(Func func),在你的情况下,T1是BaseMdmViewModelCollection。
SubItemsViewModels来自ObservableCollection类型
这是一种传递任何返回集合的函数而不是直接传递集合的方法。
干杯,
吉拉德