中文译本将 Data Binding 译为了数据绑定,很大程度上其实是拼音音译,没有实际意义。WPF 中的Binding 更多地是表达一种桥梁关系。Binding 对象的两端,分别是源(Source)和目标(Target),源即数据来源,目标就是数据要到达的地方。一般情况下,源一般是逻辑层的对象,目标是UI层的控件对象,数据由源通过 Binding 对象送达 UI 层,也就完成的数据驱动UI的过程。

image

如图所示,数据绑定实质上是绑定目标与绑定源之间的桥梁。 该图演示了以下基本的 WPF 数据绑定概念:

通常情况下,每个绑定具有四个组件:

  • 绑定目标对象(Binding Target - Dependency Object)
  • 目标属性(Dependency Property)
  • 绑定源(Binding Source - Object)
  • 指向绑定源中要使用的值的路径(Path - Property)

例如,如果将 TextBox​ 的内容绑定到 Employee.Name 属性,则可以类似如下所示设置绑定:

  • 目标 | TextBox
  • 目标属性 | Text
  • 源对象 | Employee
  • 源对象值路径 | Name

结合图像我们可以这样理解:数据来源是 Employee 类的 Name 属性,数据要去往的目标是 TextBox 的Text 属性上,所以我们将 TextBox 的 Text 属性绑定到 Employee 类的 Name 属性上,当我们从 TextBox 经过 Binding 这座桥梁抵达源,也就是 Employee 类时,再通过一段路径走到 Name 属性上。