Diskuze: Binding
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ve WPF zatím neumím, ale List bindingy neumí, zkus to dát do BindingListu.
Jojo v BindingListu už je dostupná metodu ResetBindings takže si s tím pohraji a bude to
fungujovat perfektně. Díky moc za navedení.
Nemusíš volat žádnou metodu, od toho je ten binding Jakmile do listu něco
přidáš, tak se to přidá i do té kontrolky.
A už funguje fíha docela
rychlá editace kódu.
Jo to ano, já tu jen mám metodu SetDataSource, protože měním mezi X BindingListy, ale šlo o to, jakmile se nezměnil source, ale přidal se item, tak nedošlo k refreshi, což už nyní ano.
Ale musím říct, že ten Binding je fakt úžasný... jedna radost s tím
pracovat
Jo, zrovna o tom píšu v Javě Dávám ho do všech seriálů, aby se to lidí naučili. Hlavně
počítej s tím, že se to refreshuje jen při změně toho listu, ne při
změne jeho položky. Ale i to se dá udělat, musíš u položky implementovat
rozhraní IPropertyChanged nebo tak nějak, někdy jsem tu o tom psal
Jojo toto rozhraní už mám dávno implementované Je to jedna z hlavních
vlastností mého "manažeru".
Pokud máš například List tříd Osob tak třída Osoba musí implementovat rozhraní INotifyPropertyChanged.
Potom (záleží jak si to implementuješ) máš properties své třídy například takto
private int vek;
public int Vek{get {return vek;} set{vek = value; Set("Vek");}}
public event //NejakyEventHandler od ozhraní
private void Set(string property name) // zde zpracuješ událost a předáš property
Metoda Set zajistí oznámení že se změnila hodnota a díky tomu se obnoví všechyn controly které bindují danou property.
Co se týče kolekcí ve WPF máš BindingList, v ModernUI či WP můžeš
využít ObservableCollection. Tyto dvě kolekce volají refresh sami. Jiné
kolekce by jsi musel implementovat zcela stejně jako jednotlivé properties
Jojo díky moc, to rozhraní a PropertyChange plně chápu, ale šlo jen o
to, že jsem zatím nepoužíval BindingList, takže jsem o něm nevěděl.
Nyní už vše jede jak má.
Zobrazeno 11 zpráv z 11.