gpt4 book ai didi

c# - 更改集合时触发方法

转载 作者:行者123 更新时间:2023-11-30 15:05:16 24 4
gpt4 key购买 nike

我有一个使用这个集合的绑定(bind):

private RangeObservableCollection<Item> _allItems;

public RangeObservableCollection<Item> AllItems
{
get { return _allItems; }
set { _allItems = value; }
}

RangeObservarbleCollection 是一个集合,当调用 AddRange 方法时,它只抛出一个集合已更改的通知。

我有另一个集合,其项目依赖于 AllItems 集合的项目。

private RangeObservableCollection<Item> _commonItems;

我希望每当 AllItems 集合发生更改时触发一个方法,该方法会执行一些计算并更改 CommonItems 集合中的项目。我试图在 AllItems 集合的 set 方法中触发它,但值是集合类型而不是 Item 类型。

最佳答案

您可以像这样将事件附加到集合:

_allItems.CollectionChanged += new NotifyCollectionChangedEventHandler(_allItems_CollectionChanged)

protected void _allItems_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
switch (e.Action)
{
case NotifyCollectionChangedAction.Add:
//do stuff;
break;
case NotifyCollectionChangedAction.Remove:
//do stuff
break;
}

}

关于c# - 更改集合时触发方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9229293/

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