Lists and Notifications
Entities can implement the INotifyPropertyChanged interface to
communicate with the target controls to notify them when a property
value has changed. Lists of items can also receive notifications when
the contents of the list have changed. The ObservableCollection<T> is a
special collection that works well with XAML-based bindings to notify
binding targets when a change has been made to a list of items in the
ObservableCollection<T>.
ObservableCollection<T>
The ObservableCollection<T>, part of the
System.Collections.ObjectModel
namespace, implements both the INotifyPropertyChanged and INotifyCollectionChanged interfaces. When a
class inherits from the ObservableCollection<T>, the derived
class also gets the benefit of the INotifyPropertyChanged interface. This
allows the derived class to raise the PropertyChanged event for the ObservableCollection<T>-derived class
when a property on the collection has changed.
Note
Although this section of the chapter focuses on using the
ObservableCollection<T> for
list-based binding and notifications, any collection class that
implements the INotifyCollectionChanged interface will
also reap the benefits discussed here.
Notice that in Figure 4-5, where the members of
ObservableCollection<T> are
displayed, the PropertyChanged
event is listed as a protected event, which allows classes that
inherit from ObservableCollection<T> to
implement the event. In fact, most of the members of the ObservableCollection<T> collection are protected, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access