为什么在这种情况下需要绑定?

3
我开始学习WPF,正在查看使用Entity Framework入门
我有点困惑为什么需要


<ListBox Name="ListBox1" ItemsSource="{Binding Source={StaticResource CustomerSource}}" >

为什么我不能做?
<ListBox Name="ListBox1" ItemsSource="{StaticResource CustomerSource}" >

我应该何时使用Binding呢?因为一开始我会认为,就像在样式中使用静态资源那样。

<Button Style="{StaticResource someStyle}"

为什么不呢?
<Button Style="{Binding Source={StaticResource someStyle}}"
2个回答

2
这个例子将从资源中使用指定的键检索到的值分配给 Text 属性:
<TextBox Text="{StaticResource SomeText}" />

这个例子将 Text 属性绑定到从资源中检索的具有指定键的对象的属性:
<TextBox Text="{Binding Source={StaticResource SomeObject}, Path=SomeProperty}" />
Binding class是用于数据绑定的类,它是一种在GUI上显示从数据源检索到的数据并允许用户与之交互的方式。如果没有数据绑定,值只是被分配给UI上的控件。
绑定在UI控件和与之相关联的底层数据源之间添加了一个抽象层,提供了一系列服务。以下是其中一些最重要的服务:
  • 自动在UI和数据源之间单向或双向传播数据更改
  • 值的转换/格式化
  • 通过事件进行通知
相关资源:

0
您也可以在父控件上设置DataContext。例如,如果ListBox包含在StackPanel中。
<StackPanel x:Name="parentControl" DatContext="{StaticResource CustomerSource}">
<ListBox x:Name="ListBox1" ItemSource="{Binding}">
...
</ListBox>
</StackPanel>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接