Kurze Antwort : {Binding}
ist keine Abkürzung für "Bindung an sich selbst" (im Sinne von RelativeSource.Self ). Eher {Binding}
ist äquivalent zu {Binding Path=.}
, was an die aktuelle Quelle bindet.
Um es näher zu erläutern : Eine Bindung hat eine Quelle und einen Pfad . Sie können beispielsweise eine "Bindung an sich selbst" durchführen, indem Sie verwenden
<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />
Dadurch wird die Quelle jedoch auf das Steuerelement selbst festgelegt, sodass versucht wird, auf die Eigenschaft x
des UI-Steuerelements zuzugreifen (und nicht auf die Eigenschaft x
des aktuellen Datenkontexts). Soweit ich Ihre Frage verstanden habe, ist dies nicht das, was Sie wollen. Insbesondere ist es nicht das, was es {Binding}
tut: {Binding}
Die Quelle bleibt wie sie ist (normalerweise die DataContext
eines übergeordneten Elements) und bindet an die Quelle selbst (entspricht Path=.
).