How to get changes in ObservableCollection
21,910
Solution 1
handle the CollectionChanged
event
//register the event so that every time when there is a change in collection CollectionChangedMethod
method will be called
yourCollection.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler
(CollectionChangedMethod);
Create a method like this
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
}
}
Solution 2
Just register to the collection's CollectionChanged
event. It will raise events when you add or remove items or otherwise, change the contents of the collection.
If you want to receive events when properties of the items in the collection change, you'd need to make sure that the items are IObservable
first then Subscribe()
to the individual objects.
Author by
SOF User
Updated on July 09, 2022Comments
-
SOF User about 2 years
public ObservableCollection<IndividualEntityCsidClidDetail> IncludedMembers { get; set; }
Let say I have a reference to
IncludedMembers
I want an event to occur when collection items are added/removed/edited.