Vložené styly a šablony

Windows Presentation Foundation (WPF) poskytuje Style objekty a objekty šablony (FrameworkTemplate podtřídy) jako způsob, jak definovat vizuální vzhled prvku v prostředcích, aby je bylo možné použít vícekrát. Z tohoto důvodu atributy v XAML, které přebírají typy Style a FrameworkTemplate téměř vždy odkazují na prostředky na existující styly a šablony, a nedefinují nové vložené.

Omezení vložených stylů a šablon

V jazyce XAML (Extensible Application Markup Language) je možné technicky nastavit vlastnosti stylu a šablony jedním ze dvou způsobů. Syntaxi atributu můžete použít k odkazování na styl definovaný v rámci prostředku, například <objektStyle="{StaticResourcemyResourceKey.}" .../> Nebo můžete použít syntaxi elementu vlastnosti k definování stylu vloženého, například:

<object>

<object.Style>

< Style .../>

</object.Style>

</object>

Použití atributu je mnohem častější. Styl, který je definován vložený a není definován v prostředcích, je nutně vymezen pouze na prvek obsahující a nelze jej znovu použít tak snadno, protože nemá žádný klíč prostředku. Obecně je styl definovaný prostředkem všestrannější a užitečnější a je více v souladu s obecným programovacím modelem Windows Presentation Foundation (WPF) oddělování logiky programu v kódu od návrhu v značkách.

Obvykle není důvod nastavit styl nebo šablonu vloženou, i když máte v úmyslu použít tento styl nebo šablonu pouze v daném umístění. Většina prvků, které můžou mít styl nebo šablonu, podporuje také vlastnost obsahu a con režim stanu l. Pokud používáte pouze jakýkoli logický strom, který vytvoříte pomocí stylu nebo šablonování jednou, bude ještě jednodušší vyplnit tuto vlastnost obsahu ekvivalentními podřízenými prvky v přímém kódu. Tím by se úplně vynechaly mechanismy stylu a šablony.

Další syntaxe povolené rozšířeními značek, které vrací objekt, jsou také možné pro styly a šablony. Mezi dvě taková rozšíření, která mají možné scénáře, patří TemplateBinding a Binding.

Viz také