Sdílet prostřednictvím


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 ve zdrojích, aby mohly být použity vícekrát. Z tohoto důvodu atributy v XAML, které využívají typy Style a FrameworkTemplate, téměř vždy odkazují na prostředky existujících stylů a šablon, a nedefinují nové přímo.

Omezení vnitřní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ů. Pomocí syntaxe atributů můžete odkazovat na styl definovaný v rámci prostředku, například <objektStyle="{StaticResourcemyResourceKey}" .../>. Nebo můžete použít syntaxi elementu vlastnosti k definování vloženého stylu, například:

< objektu>

< objekt.Style>

< Style .../>

</ objektu.Style>

</ objekt>

Použití atributu je mnohem častější. Styl, který je definován přímo a není definován v prostředcích, je nutně vymezen pouze na obsahující prvek a není tak snadno znovu použitelný, protože nemá žádný klíč prostředku. Obecně je styl definovaný prostředkem všestrannější a užitečnější a více odpovídá obecnému principu programovacího modelu Windows Presentation Foundation (WPF) o oddělení logiky programu v kódu od návrhu ve značkovacím jazyce.

Obvykle není důvod nastavit styl nebo šablonu přímo ve vložení, i když máte v úmyslu použít tento styl nebo šablonu pouze na daném místě. Většina prvků, které můžou mít styl nebo šablonu, podporuje také vlastnost obsahu a model obsahu. 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é