c# - 为什么在这种情况下需要绑定(bind)

标签 c# wpf

我正在启动 WPF,查看 How do o: Getting started with 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}}"

最佳答案

此示例分配使用指定键从资源中检索到的值到 Text 属性:

<TextBox Text="{StaticResource SomeText}" />

此示例将 Text 属性绑定(bind)到使用指定键从资源中检索到的对象的属性:

<TextBox Text="{Binding Source={StaticResource SomeObject}, Path=SomeProperty}" />

Binding class用于数据绑定(bind),这是一种在 GUI 上显示从数据源检索到的数据的方法,允许用户与之交互。如果没有数据绑定(bind),值将简单地分配给 UI 上的控件。

绑定(bind)在 UI 控件和与之关联的底层数据源之间添加了一个抽象层,提供了服务的反弹。以下是一些最重要的:

  • 自动在 UI 和数据源之间沿任一方向或双向传播数据更改
  • 值的转换/格式化
  • 通过事件通知

相关资源:

关于c# - 为什么在这种情况下需要绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3633745/

相关文章:

c# - 如何为搜索查询创建解析器

c# - 使用 LINQ,是否可以从 Select 语句输出动态对象?如果是这样,如何?

c# - System.Linq.Select 方法错误 : LINQ to Entities does not recognize the method

wpf - 去掉tab控件那个tab下的那一行

c# - 将多个形状组合在一起的最佳方法是什么?

c# - 如何检查 WPF 资源是否存在?

c# - 从 C# 最小化 Microsoft Edge 浏览器不起作用

c# - mvvm - PropertyChanged 不更新带有列表修改的 GUI,但如果我分配一个新列表 - C# silverlight

c# - WPF寻找方法来创建带有文本标签框架的边框

c# - DataGridCheckBoxColumn 在应用 ElementStyle 时丢失 IsReadOnly 状态