
Change Notification for List-Based Binding
Windows Forms depends on a bound list to provide property change (a list item property value changes) and list changed (an item is deleted or added to the list) information to bound controls. Therefore, lists used for data binding must implement the IBindingList, which provides both types of change notification. The BindingList<(Of <(T>)>) is a generic implementation of IBindingList and is designed for use with Windows Forms data binding. You can create a BindingList<(Of <(T>)>) that contains a business object type that implements INotifyPropertyChanged and the list will automatically convert the PropertyChanged events to ListChanged events. If the bound list is not an IBindingList, you must bind the list of objects to Windows Forms controls by using the BindingSource component. The BindingSource component will provide property-to-list conversion similar to that of the BindingList<(Of <(T>)>). For more information, see How to: Raise Change Notifications Using a BindingSource and the INotifyPropertyChanged Interface.