Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy vezérlősablonban lévő tulajdonság értékét egy másik tulajdonság értékéhez kapcsolja össze a sablonalapú vezérlőn.
XAML-attribútumok használata
<object property="{TemplateBinding sourceProperty}" ... />
XAML attribútum használat (beállító tulajdonság sablonban vagy stílusban)
<Setter Property="propertyName" Value="{TemplateBinding sourceProperty}" ... />
XAML-értékek
| Érték | Leírás |
|---|---|
propertyName |
A DependencyProperty.Name tulajdonság beállítása a setter szintaxisban. |
sourceProperty |
Egy másik függőségi tulajdonság, amely a sablonként megadott típuson létezik, amelyet a DependencyProperty.Namehatároz meg. -vagy- "Egy olyan tulajdonságnév, amely pontjelöléssel van leírva, és amelyet a sablonozott céltípustól eltérő típus határoz meg." Ez valójában egy PropertyPath. Lásd PropertyPath XAML szintaxis. |
Megjegyzések
A TemplateBinding egy Binding optimalizált formája a sablon-szcenáriókhoz, hasonlóan a Binding-ból készült {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}-hoz. A TemplateBinding mindig egyirányú kötés, még akkor is, ha a tulajdonságok alapértelmezés szerint kétirányú kötést igényelnek. Mindkét érintett tulajdonságnak függőségi tulajdonságoknak kell lennie. A sablonalapú szülőhöz való kétirányú kötés eléréséhez használja a következő kötési utasítást {Binding RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, Path=MyDependencyProperty}.
RelativeSource egy másik korrektúrakiterjesztés, amelyet néha a TemplateBinding együtt vagy helyett használnak a relatív tulajdonságkötés végrehajtásához egy sablonon belül.
A vezérlősablonok fogalomként való leírásáról itt nem esik szó; További információ: Vezérlőstílusok és sablonok.
Az attribútumszintaxis a korrektúrakiterjesztés leggyakoribb szintaxisa. A TemplateBinding azonosító sztringje után megadott karakterlánc token a mögöttes Property bővítményosztály TemplateBindingExtension értékéhez van hozzárendelve.
Az objektumelem szintaxisa lehetséges, de nem jelenik meg, mert nincs valósághű alkalmazása. A TemplateBinding arra szolgál, hogy kitöltse az értékeket a setterekben, kiértékelt kifejezések használatával, és hogy a TemplateBinding objektumelem szintaxis használatával töltse ki a <Setter.Property> tulajdonságelem szintaxisát, de ez feleslegesen terjengős.
TemplateBinding olyan részletes attribútumhasználatban is használható, amely a Property tulajdonságot tulajdonság=érték párként határozza meg:
<object property="{TemplateBinding Property=sourceProperty}" ... />
A részletes használat gyakran hasznos olyan bővítmények esetében, amelyek több beállítási tulajdonsággal rendelkeznek, vagy ha egyes tulajdonságok nem kötelezőek. Mivel TemplateBinding csak egy beállítási tulajdonsággal rendelkezik, ami kötelező, ez a bőbeszédű használat nem jellemző.
A WPF XAML processzor implementációjában a jelölőbővítmény kezelését a TemplateBindingExtension osztály határozza meg.
TemplateBinding egy korrektúrakiterjesztés. Jelölőkiterjesztéseket általában akkor alkalmaznak, amikor szükség van arra, hogy az attribútumértékek ne csak konstans értékek vagy kezelőnevek legyenek, és a követelmény globálisabb, mint bizonyos típusok vagy tulajdonságok esetében a típuskonverterek használata. Az XAML-ben minden korrektúrakiterjesztés az attribútumszintaxis { és } karaktereit használja, ez az a konvenció, amellyel az XAML-processzor felismeri, hogy a korrektúrakiterjesztésnek fel kell dolgoznia az attribútumot. További információ: Korrektúrakiterjesztések és WPF XAML.
Lásd még
.NET Desktop feedback