我有一个ObservableCollection,它有对象。 我的要求是我想为特定属性设置Property Changed以触发Collection Changed事件。
我可以为对象设置Property更改,如:
foreach (INotifyPropertyChanged prop in _baseColl)
{
prop .PropertyChanged += prop_PropertyChanged;
}
prop_PropertyChanged()
{
//Will Refresh My Collection.
}
这种情况将调用该Object中的所有属性。但我不想这样。
P.S:我也知道我们可以触发CollectionChanged By" Add"," Remove"," Move"等等。但我想要另一种解决方案。
答案 0 :(得分:2)
如果您正在处理PropertyChanged
,您所能做的就是检查“PropertyName”;
prop_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "TheProperty")
{
//Will Refresh My Collection.
}
}
对于大多数情况,这应该没问题。如果您想要更有针对性的调用,那么您始终可以考虑使用自定义事件 - 只有当您感兴趣的属性发生更改时,源对象才会引发该事件。