J'ai un WPF Window
, et quelque part il y a un ListView
où je lie un List<string>
à.
Quelque part dans mon ListView
, il y a un TextBox
et la propriété Content
est définie sur {Binding}
.
Mais c'est le raccourci. Comment écrire la liaison complète pour se lier à elle-même?
{Binding Path=Self}
ne fonctionne pas, ni {Binding Self}
(où ce dernier est un raccourci pour le premier).
Réponse courte: {Binding}
n'est pas pas un raccourci pour "se lier à lui-même" (au sens de RelativeSource.Self ). Plutôt, {Binding}
équivaut à{Binding Path=.}
, qui se lie à la source actuelle.
Élaborer: Une liaison a une source et un chemin . Vous pouvez faire une "liaison à lui-même", par exemple, en utilisant
<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />
Cependant, cela définit la source sur le contrôle lui-même, il essaiera donc d'accéder à la propriété x
du contrôle UI (plutôt que propriété x
du contexte de données actuel). D'après la façon dont j'ai compris votre question, ce n'est pas ce que vous voulez; en particulier, ce n'est pas ce que {Binding}
Est-ce que: {Binding}
conserve la source telle qu'elle est (généralement le DataContext
d'un élément parent) et se lie à la source elle-même (équivalent à Path=.
).