我有一个可观察的集合,并且在其上连接了一个 collectionChanged 事件。
我将其项目绑定到用户界面中的列表框。
当用户从列表框中删除 UI 中的某些项目时,CollectioChanged 会正确触发,但是,我需要知道已删除项目的索引。
问题是我无法在更改后对集合进行索引,因为它不再具有已删除的项目。
我们可以通过 collectionchanged 事件访问从 ObservableCollection 中删除的索引列表吗?
The CollectionChanged http://msdn.microsoft.com/en-us/library/ms653375.aspx事件使用一个事件,给你一个NotifyCollectionChangedEventArgs http://msdn.microsoft.com/en-us/library/system.collections.specialized.notifycollectionchangedeventargs.aspx。这有一个OldStartingIndex
属性,它会告诉您它被删除的索引。例如:
void Foo()
{
ObservableCollection<string> r = new ObservableCollection<string>();
r.CollectionChanged += r_CollectionChanged;
}
static void r_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
var itemRemovedAtIndex = e.OldStartingIndex;
}
假设我要从集合中不同索引处删除多个项目。因此,使用 oldStartingIndex 只会给我第一个被删除的项目索引
该事件很可能会触发多次,每个项目一次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)