BindableCollection
BindableCollection<T> is INotifyCollectionChanged implementation that updates the UI on add and remove of items. It derives from ObservableCollection<T>.
The BindableCollection<T> provides the same set of features as Collection<T> , like Add and Remove methods. The features specific for this type of collection are its Move method and the CollectionChanged event.
The Move method allows you to move an item from one index in the collection to another.
Example 1: Move method usage
ObservableCollection<int> collection = new ObservableCollection<int>();
for (int i = 0; i < 10; i++)
{
collection.Add(i);
}
//items order BEFORE the Move call: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
collection.Move(2, 7);
//items order AFTER the Move call: 0, 1, 3, 4, 5, 6, 7, 2, 8, 9
CollectionChanged event is raised whenever a change appears in the collection items. This may include add, remove, replace, move or reset of the items.
Example 2: CollectionChanged event usage
public InitializeCollection()
{
ObservableCollection<int> collection = new ObservableCollection<int>();
collection.CollectionChanged += Collection_CollectionChanged;
}
private void Collection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
}