Réponse courte:{Binding}
est pas un raccourci pour "liaison à lui-même" (dans le sens de RelativeSource.L'auto). Plutôt, {Binding}
est équivalent à {Binding Path=.}
, qui se lie à la source de courant.
Pour élaborer: Une liaison a une source et un chemin d'accès. Vous pouvez faire une "liaison à lui-même", par exemple, en utilisant
<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />
Ceci, cependant, définit la source pour le contrôle de lui-même, donc il va essayer d'accéder à la propriété x
de l'INTERFACE utilisateur de contrôle (plutôt que de biens x
de l'actuel contexte de données). De la façon dont j'ai compris votre question, ce n'est pas ce que vous voulez; en particulier, il n'est pas ce qu' {Binding}
t: {Binding}
maintient la source comme il est (généralement de l' DataContext
de certains élément parent) et se lie à la source elle-même (l'équivalent d' Path=.
).