Подтвердить что ты не робот

WPF Привяжите себе

У меня есть WPF Window, а где-то есть ListView, где я привязываю List<string> к.

Теперь где-то в моем ListView есть свойство TextBox, а для свойства Content установлено значение {Binding}.

Но это стенография. Как написать полную привязку для привязки к себе?

{Binding Path=Self} не работает, и {Binding Self} (где последнее является ярлыком для первого).

4b9b3361

Ответ 1

Краткий ответ: {Binding} не является ярлыком для "привязки к себе" (в смысле RelativeSource.Self). Скорее, {Binding} эквивалентен {Binding Path=.}, который привязывается к текущему источнику.


Чтобы уточнить: у привязки есть источник и путь. Вы можете сделать "привязку к себе", например, с помощью

<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />

Однако это устанавливает источник для самого элемента управления, поэтому он попытается получить доступ к свойству x элемента управления пользовательского интерфейса (а не к свойству x текущего контекста данных). Из того, как я понял твой вопрос, это не то, что ты хочешь; в частности, это не то, что делает {Binding}: {Binding} сохраняет источник таким, какой он есть (обычно DataContext некоторого родительского элемента) и привязывается к самому источнику (эквивалентно Path=.).