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.

Zaradené do:

Komentáre

# liero said:

aj microsoftaci suhlasia, ze to je ovela univerzalnejsia kolekcia, preto ju presunuli do System.dll v .net 4 :)

Friday, April 08, 2011 12:37 PM
Prihlásiť | Registrovať | Pomoc