我有一个使用此集合的绑定:
private RangeObservableCollection<Item> _allItems;
public RangeObservableCollection<Item> AllItems
{
get { return _allItems; }
set { _allItems = value; }
}
Run Code Online (Sandbox Code Playgroud)
RangeObservarbleCollection是一个集合,仅在调用AddRange方法时仅抛出一个集合已更改的通知.
我有另一个集合,其项目取决于AllItems集合的项目.
private RangeObservableCollection<Item> _commonItems;
Run Code Online (Sandbox Code Playgroud)
我希望每当AllItems集合被更改为触发一个方法,该方法执行一些计算并更改CommonItems集合中的项目.我尝试在AllItems集合的set方法中触发它,但Value的类型集合不是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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |