ObservableCollection
Čo sa za mladi naučíš, v starobe ako by si našiel. Tak toto som našiel celkom neskoro. Už niekoľkokrát som potreboval kolekciu s udalosťami o pridaní a odobraní prvku. Napísať si takú kolekciu podedením z triedy Collection<T> nie je žiadny problém. Lenže načo niečo také, keď v .NET od verzie 3.0 máme triedu ObservableCollection<T>. A tá obsahuje dve udalosti.
- CollectionChanged sa vyvolá, keď sa zmení kolekcia. Teda, keď tam pridáme, odoberieme prvok, zmeníme na určitej pozícii alebo vyčistíme kolekciu.
- PropertyChanged sa vyvolá, keď sa zmení nejaký objekt v kolekcii. Toto funguje, iba ak objekty v kolekcii implementujú interface INotifyPropertyChanged.
A túto triedu som doteraz poctivo ignoroval práve preto, že je v netradičnej assembly WindowsBase, ktorú si spájam práve s WPF. Ale v skutočnosti táto assembly súvisí hlavne so XAML, ktorý je oveľa univerzálnejší ako WPF. Napríklad sa dá použiť s Workflow Foundation.
Ešte pre úplnosť, tak táto trieda je v namespace System.Collections.ObjectModel.