RelativeSource-Markuperweiterung
Aktualisiert: November 2007
Gibt die Eigenschaften einer RelativeSource-Bindungsquelle an, die innerhalb einer Bindung als Markuperweiterung oder beim Festlegen der RelativeSource-Eigenschaft eines in XAML eingerichteten Binding-Elements verwendet werden soll.
Verwendung von XAML-Attributen
<Binding RelativeSource="{RelativeSource modeEnumValue}" .../>
XAML-Attributverwendung (geschachtelt innerhalb der Bindungserweiterung)
<object property="{Binding RelativeSource={RelativeSource modeEnumValue} ...}" .../>
Verwendung von XAML-Objektelementen
<Binding>
<Binding.RelativeSource>
<RelativeSource Mode="modeEnumValue"/>
</Binding.RelativeSource>
</Binding>
- or
<Binding>
<Binding.RelativeSource>
<RelativeSource
Mode="FindAncestor"
AncestorType="{x:Type typeName}"
AncestorLevel="intLevel"
/>
</Binding.RelativeSource>
</Binding>
XAML-Werte
modeEnumValue |
Eine der folgenden Anwendungen:
|
FindAncestor |
Das Zeichenfolgentoken FindAncestor. Bei Verwendung dieses Tokens wird ein Modus aktiviert, der eine RelativeSource als Vorgängertyp und optional eine Vorgängerebene angibt. Dies entspricht einer RelativeSource, wie diese erstellt wurde, wenn für ihre Mode-Eigenschaft FindAncestor festgelegt wurde. |
typeName |
Erforderlich für FindAncestor-Modus. Der Name eines Typs, der die AncestorType-Eigenschaft auffüllt. |
intLevel |
Optional für FindAncestor-Modus. Eine Vorgängerebene (ausgewertet gegen die übergeordnete Richtung in der logischen Struktur). |
Hinweise
In der Objektelementsyntax für den FindAncestor-Modus wie oben dargestellt wird die zweite Objektelementsyntax speziell für den FindAncestor-Modus verwendet. Für den FindAncestor-Modus ist ein AncestorType-Wert erforderlich. Sie müssen AncestorType als Attribut festlegen, unter Verwendung eines x:Type-Markuperweiterung-Verweises auf den Vorgängertyp, nach dem gesucht werden soll. Der AncestorType-Wert wird verwendet, wenn die Bindungsanforderung zur Laufzeit verarbeitet wird.
Im FindAncestor-Modus kann die optionale Eigenschaft AncestorLevel dazu beitragen, die Vorgängersuche in den Fällen eindeutig zu machen, in denen eventuell mehr als ein Vorgänger dieses Typs in der Elementstruktur vorhanden ist.
Weitere Informationen zur Verwendung des FindAncestor-Modus finden Sie unter RelativeSource
Das Konzept der Datenbindung wird hier nicht erläutert. Informationen hierzu finden Sie unter Übersicht über Datenbindung.
In der WPF-XAML-Prozessorimplementierung wird die Handhabung dieser Markuperweiterung durch die RelativeSource-Klasse definiert.
RelativeSource ist eine Markuperweiterung. Markuperweiterungen werden in der Regel implementiert, wenn Attributwerte mit Escapezeichen versehen werden müssen, damit diese nicht als literale Werte oder als Handlernamen betrachtet werden, und diese Anforderung eher global und nicht nur durch den Einsatz von Typkonvertern für bestimmte Typen oder Eigenschaften erfüllt werden soll. Alle Markuperweiterungen in XAML verwenden die Zeichen { und } in der Attributsyntax. Dies ist die Konvention, durch die ein XAML-Prozessor erkennt, dass das Attribut von einer Markuperweiterung verarbeitet werden muss. Weitere Informationen finden Sie unter Markuperweiterungen und XAML.
Siehe auch
Konzepte
Erstellen von Formaten und Vorlagen
Übersicht über Bindungsdeklarationen