绑定关键字指的是什么?

时间:2011-12-02 06:01:43

标签: c# wpf xaml

在这个例子中:

 <TextBox Name="textBox1" Height="23" Text="some text" HorizontalAlignment="Left" Margin="69,12,0,0"  VerticalAlignment="Top" Width="120" />
 <Label Content="{Binding Path=Text, ElementName=textBox1}" Height="28" HorizontalAlignment="Left" Margin="235,12,0,0" Name="label1" VerticalAlignment="Top" />

我在文本框上键入的内容将显示在标签上。我正在学习xaml,我相信我理解大多数这样的Bindings。但我认为即使我理解发生了什么,理解Binding关键字引用的内容也会很好吗?例如,我可以:

  <ListView ItemsSource="{Binding}" Name="lv1" />

我很难理解绑定实际上指的是什么? Binding关键字后面没有任何内容,那么它绑定到什么?它是指那个控件吗?它是否类似于c#中使用的this关键字,它将引用类的当前实例化对象?

2 个答案:

答案 0 :(得分:4)

这不是关键字,而是markup extension

绑定始终绑定到相对于源的Path,如果没有直接绑定到源的路径,可能的源是DataContext,如果没有指定其他源,则隐式使用ElementNameSourceRelativeSource。如果您还没有这样做,请阅读the overview

答案 1 :(得分:1)

这是对窗口的Property DataContext的绑定。如果有一个元素列表 那,你会在ListBox中看到它。

例如,在DataContext = new List<string> { "A", "B", "C" };之后的窗口构造函数中键入InitializeComponents();,您将在ListBox中看到该列表。