This article has been localized into Czech by the community.
Úvod
Zatím jsme se v tomto průvodci věnovali pouze prvkům uživatelského rozhraní, které jsou součástí knihoven WPF. S nimi si možná vystačíte velmi dlouho, protože jsou velmi flexibilní a mohou být upraveny pomocí stylů a šablon pro téměř libovolné využití. Přesto se nejspíš dostanete do situace, kdy Vám tvorba vlastních prvků může značně zjednodušit práci. V jiných knihovnách pro tvorbu uživatelských rozhraní to často bývá obtížné, nicméně WPF tento proces usnadňuje a nabízí dvě možné cesty: Uživatelské ovládací prvky (User Control) a Vlastní ovládací prvky (Custom Control).
UserControls
Uživatelské ovládací prvky WPF dědí z třídy UserControl a chovají se velmi podobně jak aplikační okna ve WPF. Skládají se ze XAML souboru a souboru s vlastním kódem. V XAML souboru můžete přidávat existující WPF ovládací prvky a přidáním vlastního kódu lze dosáhnout implementace dodatečných funkcí. WPF Vám pak umožní vkládat takovéto soubory funkcí na jiných místech, čímž snadno dosáhnete sbalení funkcionality do znovupoužitelných prvků kdekoliv v rámci Vaší aplikace.
Custom controls
Vlastní ovládací prvek (Custom control) je na nižší úrovni než UserControl. Když vytváříte vlastní ovládací prvek, dědíte z existující třídy, na základě toho, jak hluboko potřebujete jít. V mnoha případech můžete dědit třídu Control, ze které dědí i jiné ovládací prvky WPF (např. TextBox), ale pokud potřebujete jít ještě hlouběji, můžete dědit FrameworkElement nebo dokonce UIElement. Čím hlouběji jdete, tím více kontroly získáváte a tím méně funkcionalit je děděno.
Vzhled vlastního ovládacího prvku (Custom control) je obvykle řízen pomocí stylů v souboru s tématem, zatímco vzhled UserControlu bude následovat vzhled zbytku aplikace. To také zdůrazňuje jednu z hlavních rozdílů mezi UserControl a Custom control: Vlastní ovládací prvek může být stylován/šablonován, zatímco UserControl nemůže.
Shrnutí
Vytváření znovupoužitelných ovládacích prvků ve WPF je velmi snadné, zejména pokud zvolíte přístup UserControl. V dalším článku se podíváme na to, jak snadné je vytvořit UserControl a poté jej použít ve vaší vlastní aplikaci.