public ObservableCollection<IndividualEntityCsidClidDetail> IncludedMembers { get; set; }
假设我有IncludedMembers
的引用我希望在添加/删除/编辑集合项时发生事件。
答案 0 :(得分:22)
处理CollectionChanged
事件
//注册事件,以便每当集合CollectionChangedMethod
方法发生变化时,都会调用
yourCollection.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler
(CollectionChangedMethod);
创建一个像这样的方法
private void CollectionChangedMethod(object sender, NotifyCollectionChangedEventArgs e)
{
//different kind of changes that may have occurred in collection
if(e.Action == NotifyCollectionChangedAction.Add)
{
//your code
}
if (e.Action == NotifyCollectionChangedAction.Replace)
{
//your code
}
if (e.Action == NotifyCollectionChangedAction.Remove)
{
//your code
}
if (e.Action == NotifyCollectionChangedAction.Move)
{
//your code
}
}
答案 1 :(得分:3)
只需注册该集合的CollectionChanged
活动即可。它会在您添加或删除项目时引发事件,否则会更改集合的内容。
如果您希望在集合中的项目属性发生变化时收到事件,则需要先确保这些项目为IObservable
,然后Subscribe()
为各个对象。
答案 2 :(得分:-2)
这就是可观察集合的用途。
只需绑定到该集合即可进行排序!