Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Propojuje hodnotu vlastnosti v šabloně ovládacího prvku tak, aby byla hodnotou jiné vlastnosti v ovládacím prvku šablony.
Použití atributu XAML
<object property="{TemplateBinding sourceProperty}" ... />
Použití atributu XAML (pro vlastnost „Setter“ v rámci šablony nebo stylu)
<Setter Property="propertyName" Value="{TemplateBinding sourceProperty}" ... />
Hodnoty XAML
| Hodnota | Popis |
|---|---|
propertyName |
DependencyProperty.Name vlastnosti, která se nastavuje v syntaxi setter. |
sourceProperty |
Další vlastnost závislosti, která existuje u typu, pro který je vytvořena šablona, určená jeho DependencyProperty.Name. - nebo - Název vlastnosti "tečkované dolů", který je definován jiným typem než cílový typ, který je šablonován. To je vlastně PropertyPath. Viz syntaxe XAML PropertyPath. |
Poznámky
TemplateBinding je optimalizovaná forma Binding pro scénáře šablon, podobně jako Binding konstruovaná s {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}.
TemplateBinding je vždy jednosměrná vazba, a to i v případě, že vlastnosti mají výchozí obousměrnou vazbu. Obě zahrnuté vlastnosti musí být vlastnosti závislosti. K dosažení obousměrné vazby s nadřazenou šablonou použijte následující příkaz vazby místo toho {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, Path=MyDependencyProperty}.
RelativeSource je další rozšíření značek, které se někdy používá ve spojení s TemplateBinding nebo místo TemplateBinding k provádění relativní vazby vlastností v rámci šablony.
Popis šablon ovládacích prvků jako koncept zde není popsaný; Další informace naleznete v tématu Ovládací styly a šablony.
Syntaxe atributu je nejběžnější syntaxe použitá s tímto rozšířením značek. Řetězcový token poskytnutý za řetězcem identifikátoru TemplateBinding je přiřazen hodnotě Property základní třídy rozšíření TemplateBindingExtension.
Syntaxe elementu objektu je možná, ale nezobrazuje se, protože nemá žádnou realistickou aplikaci.
TemplateBinding se používá pro nastavení hodnot pomocí setterů, k využití vyhodnocených výrazů a pro použití syntaxe prvku objektu pro TemplateBinding, zatímco použití syntaxe prvku vlastnosti <Setter.Property> je zbytečně podrobné.
TemplateBinding lze také použít v podrobném použití atributu, který určuje vlastnost Property jako pár vlastnost=hodnota:
<object property="{TemplateBinding Property=sourceProperty}" ... />
Podrobné použití je často užitečné pro rozšíření, která mají více než jednu nastavitelnou vlastnost, nebo pokud jsou některé vlastnosti volitelné. Vzhledem k tomu, že TemplateBinding má pouze jednu nastavitelnou vlastnost, která je povinná, není toto rozsáhlé použití typické.
V implementaci procesoru WPF XAML je zpracování tohoto značkovacího rozšíření definováno třídou TemplateBindingExtension.
TemplateBinding je rozšíření pro značkování. Rozšíření značek se obvykle implementují, pokud existuje požadavek, aby hodnoty atributů byly jiné než doslovné hodnoty nebo názvy obslužných rutin, a požadavek je globálnější než jen používání převaděčů typů na určité typy nebo vlastnosti. Všechna rozšíření značek v XAML používají { a } znaky v syntaxi atributu, což je konvence, kterou procesor XAML rozpozná, že rozšíření značek musí zpracovat atribut. Další informace naleznete v tématu Rozšíření značek a WPF XAML.
Viz také
.NET Desktop feedback