Ответ 1
Значение привязки данных к корню окна или элемента управления DataContext
.
Возможный дубликат:
Вопрос синтаксиса привязки WPF
Я использую этот синтаксис повсюду, и я думал, что знаю, что он сделал, но теперь я понятия не имею.
Value="{Binding}"
У меня возникли огромные проблемы с поиском этого синтаксиса онлайн, потому что курсорные скобки игнорируются.
Например:
<Style x:Key="GridCell" TargetType="{x:Type TextBlock}">
<Setter Property="ToolTip" Value="{Binding}}"/>
</Style>
При применении в качестве стиля к текстовому блоку привязка всплывающей подсказки к неподтвержденному (неконвертированному) свойству, к которому привязан контент текстового блока (текст).
Значение привязки данных к корню окна или элемента управления DataContext
.
Он привязывается к текущему Datacontext.
Я предлагаю вам ознакомиться с WPF Databinding Cheat Sheet. Должна быть удобная ссылка.
Синтаксис {Binding <something>}
создает новый Binding
с помощью Расширение разметки привязки.
В частности, {Binding}
создает объект Binding
с пустым путем. И поскольку пути относятся к текущему DataContext
, это означает привязку к нему.
Возможно, стоит отметить, что элемент управления наследует DataContext своего родительского элемента (если вы не установили его напрямую).
Именно WPF связывает ваши данные с элементом управления. Дополнительную информацию см. В MSDN. http://msdn.microsoft.com/en-us/library/ms752347.aspx
Все зависит от того, где вы используете это дерево элементов. По умолчанию это означает текущий DataContext
. Но если вы уже находитесь в своем ListBox, то это означает ListBox DataContext. Что отличается от Root/Main DataContext.