C# 如何在ObservableCollection的项目被替换时收到通知
我想将事件处理程序添加到可观察的集合中,每次在其中添加、删除或更新项时都会触发该集合 CollectionChanged事件在添加或删除项时引发,但在替换项时(例如,使用类似的内容)不会引发C# 如何在ObservableCollection的项目被替换时收到通知,c#,wpf,observablecollection,C#,Wpf,Observablecollection,我想将事件处理程序添加到可观察的集合中,每次在其中添加、删除或更新项时都会触发该集合 CollectionChanged事件在添加或删除项时引发,但在替换项时(例如,使用类似的内容)不会引发 obsList[5] = MyUpdatedCustomObject; 有什么建议吗?我想,你不能这么做,索引器: private ObsersvableCollection<Type> _MyCollection = new ObservableCollection<Type>(
obsList[5] = MyUpdatedCustomObject;
有什么建议吗?我想,你不能这么做,索引器:
private ObsersvableCollection<Type> _MyCollection = new ObservableCollection<Type>();
_MyCollection.CollectionChanged += new NotifyCollectionChangedEventHandler(_MyCollection_CollectionChanged);
protected void _MyCollection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
switch(e.Action)
{
case NotifyCollectionChangedAction.Add:
//use e.NewItems to get items added.
break;
case NotifyCollectionChangedAction.Remove:
//use e.OldItems to get items removed.
break;
}
}
public T this[int index] { get; set; }
是从集合类继承的,此索引器不是虚拟的,无法更改其行为
但实际上,当我在一个非常小的应用程序上测试时,事件将在您的情况下触发,您有错误,请提供一些额外的代码 我想,你不能这么做,索引器:
public T this[int index] { get; set; }
是从集合类继承的,此索引器不是虚拟的,无法更改其行为
但实际上,当我在一个非常小的应用程序上测试时,事件将在您的情况下触发,您有错误,请提供一些额外的代码 可能重复:这不是一个dublicate there用户指的只是更改MyUpdatedCustomObject的一个属性,而我在这里问的问题有点不同。您如何收听ObservateCollections changed事件?可能重复:这不是一个dublicate there用户指的是仅更改MyUpdatedCustomObject的一个属性,而我我在这里问的是有点不同您如何收听ObservableCollections changed事件?不包括OP需要在项目更新时得到通知。您不需要空的delegatehandler-\u MyCollection.CollectionChanged+=\u MyCollection\u CollectionChanged;已足够,不包括更新项目时需要通知OP。您不需要空的delegatehandler-\u MyCollection.CollectionChanged+=\u MyCollection\u CollectionChanged;足够了