Value =“{Binding}”有什么作用?

时间:2011-09-09 16:22:38

标签: wpf xaml data-binding

  

可能重复:
  WPF Binding Syntax Question

我一直在使用这种语法,我以为我知道它做了什么,但现在我不知道。

Value="{Binding}"

我在网上搜索这种语法时遇到了很大麻烦,因为当然会忽略大括号。

例如:

<Style x:Key="GridCell" TargetType="{x:Type TextBlock}">
    <Setter Property="ToolTip" Value="{Binding}}"/>
</Style>

当作为样式应用于文本块时,将工具提示绑定到文本块内容(文本)绑定的未映射(未转换)属性。

6 个答案:

答案 0 :(得分:10)

它的数据绑定值是窗口的根或控件的DataContext

答案 1 :(得分:7)

它绑定到当前的Datacontext。

我建议你看看WPF Databinding Cheat Sheet。应该是一个方便的参考。

答案 2 :(得分:4)

语法{Binding <something>}使用Binding创建新的Binding markup extension

具体来说,{Binding}使用空路径创建Binding对象。由于路径相对于当前DataContext,这意味着绑定到它。

答案 3 :(得分:1)

documentation{Binding}称为“空绑定语法”。它将属性绑定到DataContext引用的整个对象。

值得注意的是,控件继承其父元素的DataContext(除非您直接设置它)。

答案 4 :(得分:0)

这是WPF将您的数据链接到控件的方式。有关详细信息,请参阅MSDN。 http://msdn.microsoft.com/en-us/library/ms752347.aspx

答案 5 :(得分:0)

这一切都取决于您使用元素树的位置。默认情况下,它表示当前DataContext。但是如果你已经在ListBox中,那么它意味着ListBox的DataContext。这与Root / Main DataContext不同。