Krótka odpowiedź : {Binding}
to nie skrót dla „wiązanie do siebie” (w sensie RelativeSource.Self ). Raczej {Binding}
jest odpowiednikiem {Binding Path=.}
, który wiąże się z bieżącym źródłem.
Aby rozwinąć : Wiązanie ma źródło i ścieżkę . Możesz wykonać „powiązanie ze sobą”, na przykład za pomocą
<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />
To jednak ustawia źródło na samą kontrolkę, więc spróbuje uzyskać dostęp do właściwości x
kontrolki interfejsu użytkownika (zamiast właściwości x
bieżącego kontekstu danych). Z tego, jak zrozumiałem twoje pytanie, nie tego chcesz; w szczególności nie jest tym, co {Binding}
robi: {Binding}
zachowuje źródło tak, jak jest (zwykle jest to DataContext
element rodzica) i wiąże się z samym źródłem (odpowiednik Path=.
).