Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 33 - DependencyProperties v C# .NET WPF

V minulé lekci, WPF - 2D efekty, jsme si ukázali jak nastavovat vzhled pomocí 2D efektů.

V prvních WPF lekcích jsme se seznámili s principy bindingů a rozhraním INotifyPropertyChanged. Víme, že se jedná o mocné nástroje a dokonce i nástroje nezbytné pro tvorbu robustnějších aplikací. 100% aktuálnost dat na formuláři proti datům v aplikaci bychom jinak manuálně jen velmi těžko uhlídali.

WPF kromě INotifyPropertyChanged disponuje dalším nástrojem, který dokáže také automaticky zareagovat na změnu hodnoty vlastnosti. Tento nástroj se nazývá Dependency Properties.

Dependency Properties

WPF na to šlo od píky a přišlo s inovací samotných vlastností jazyka C#. Koncept Dependency Properties je mnohem komplexnější a výkonnější.

Všechny ovládací prvky WPF jsou na Dependency Properties interně postavené. To proto, aby mohly podporovat binding i v opačném směru. Takto je interně možné, že TextBlock mění svůj Text, což je DependencyProperty a ne běžná CLR vlastnost, jak jsme si až doteď asi mysleli.


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

Řekneme si co umí DependencyProperties z WPF navíc oproti klasickým C# vlastnostem v kombinaci s INotifyPropertyChanged a kde je použít.
Článek pro vás napsal Petr Pospíšil
Avatar
Aktivity