C# 如何为集合中对象的特定属性设置属性更改事件
我有一个可观察的集合,它有对象。 我的要求是,我想为特定属性设置属性Changed,以触发集合更改事件 我可以为对象设置已更改的属性,如:C# 如何为集合中对象的特定属性设置属性更改事件,c#,events,inotifypropertychanged,c#-5.0,C#,Events,Inotifypropertychanged,C# 5.0,我有一个可观察的集合,它有对象。 我的要求是,我想为特定属性设置属性Changed,以触发集合更改事件 我可以为对象设置已更改的属性,如: foreach (INotifyPropertyChanged prop in _baseColl) { prop .PropertyChanged += prop_PropertyChanged; } prop_PropertyChanged() { //Will Refresh My Collection. } 在这种情况下,它将为该对象中的所有属
foreach (INotifyPropertyChanged prop in _baseColl)
{
prop .PropertyChanged += prop_PropertyChanged;
}
prop_PropertyChanged()
{
//Will Refresh My Collection.
}
在这种情况下,它将为该对象中的所有属性调用。但我不希望这样
附言:我也知道我们可以通过“添加”、“删除”、“移动”等方式触发集合更改。但我需要另一种解决方案。如果您正在处理
PropertyChanged
的话,您所能做的就是检查“PropertyName”
在大多数情况下,这应该是好的。如果您希望有更窄的目标调用,那么您可以始终考虑使用自定义事件——只有当您感兴趣的属性发生更改时,源对象才会引发该事件。
prop_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "TheProperty")
{
//Will Refresh My Collection.
}
}