gpt4 book ai didi

c# - ObservableCollection CollectionChanged 事件

转载 作者:太空狗 更新时间:2023-10-30 00:20:36 26 4
gpt4 key购买 nike

我有一个可观察的集合,并且在其上连接了一个 collectionChanged 事件。我将其项目绑定(bind)到 UI 中的列表框。当用户从列表框中删除 UI 中的某些项目时,CollectioChanged 会正确触发,但是,我需要知道已删除项目的索引。问题是更改后我无法在集合上使用 indexOf,因为它不再有删除的项目..

我们能否通过 collectionchanged 事件访问从 ObservableCollection 中删除的索引列表?

最佳答案

CollectionChanged事件使用一个给你 NotifyCollectionChangedEventArgs 的事件.它有一个 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;
}

Assume that I am removing MULTIPLE items from the collection at different indices..So using the oldStartingIndex would just give me the first item index that was removed

该事件很可能会触发多次,每个项目触发一次。

关于c# - ObservableCollection<T> CollectionChanged 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10419419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com