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="{StaticResource
myResourceKey}" .../>
. 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é
.NET Desktop feedback