WP绑定{绑定},{绑定数据.XXX},{绑定路径= XXX}等

时间:2014-04-27 12:17:42

标签: c# wpf binding

我遵循了不同的教程和示例,他们向我展示了那些不同类型的绑定,但我无法理解何时使用其中一个,何时使用另一个。

例如,我有时会看到:

Binding="{Binding}"

设置DataContext

后,有时候(我知道如何使用它)
Binding="{Binding Propriety1}"

在DevExpress GridControl中,我看到:

Binding="{Binding Data.ProprietyName}"

和其他人 可以很快解释清楚为什么这么不同的案例?我在网上搜索,但教程只说了什么是绑定(我知道是什么)和一个简单的例子,就像我写的第三个。

提前谢谢。

1 个答案:

答案 0 :(得分:3)

K这里是您要求的简单解释:

Binding="{Binding}"

当你绑定DataContext对象本身时。因此,无论当前作用域中DataContext是什么,绑定都是绑定的。也可以写成Binding="{Binding .}"

下一步:

Binding="{Binding Propriety1}"

您可以在当前Propriety1内绑定DataContext。这个与{Binding DataContext.Propriety1, RelativeSource={RelativeSource Self}}" />

相同

最后:

Binding="{Binding Data.ProprietyName}"

此处你绑定属于ProprietyName的{​​{1}},Data是当前DataContext

中声明的属性

所有这些都显示在此示例中:Download Link

<StackPanel x:Name="LayoutRoot">
  <TextBlock DataContext="{Binding TestStringOne}"
              Text="{Binding}" />
  <TextBlock DataContext="{Binding TestStringOne}"
              Text="{Binding .}" />
  <TextBlock Text="{Binding TestStringTwo}" />
  <TextBlock Text="{Binding Data.TestStringThree}" />
</StackPanel>

您可以在Data中找到属性和MainViewModel.cs对象的课程