数据绑定(Binding)

本文介绍了Windows Presentation Foundation (WPF)中的数据绑定概念,包括数据流的方向、创建绑定的方法,特别是数据绑定的目标、源、路径设置。数据绑定使得UI与业务逻辑间的交互变得简单,当数据源变化时,UI能自动更新,反之亦然。此外,文中详细讲解了OneWay、TwoWay等不同数据流模式及其应用场景,以及UpdateSourceTrigger属性如何控制源更新的触发时机。
摘要由CSDN通过智能技术生成

Windows Presentation Foundation (WPF) 中的数据绑定为应用程序提供了一种简单、一致的数据表示和交互方法。元素能够以公共语言运行时 (CLR) 对象和 XML 形式绑定到来自各种数据源的数据。

什么是数据绑定?

数据绑定是在应用程序 UI 与业务逻辑之间建立连接的过程。如果绑定具有正确设置并且数据提供正确通知,则当数据更改其值时,绑定到数据的元素会自动反映更改。数据绑定可能还意味着如果元素中数据的外部表现形式发生更改,则基础数据可以自动更新以反映更改。例如,如果用户编辑 TextBox 元素中的值,则基础数据值会自动更新以反映该更改。

基本数据绑定概念

不论要绑定什么元素,不论数据源的特性是什么,每个绑定都始终遵循下图所示的模型:
这里写图片描述
如上图所示,数据绑定实质上是绑定目标与绑定源之间的桥梁。该图演示以下基本的 WPF 数据绑定概念:

  • 通常,每个绑定都具有四个组件:绑定目标对象、目标属性、绑定源,以及要使用的绑定源中的值的路径。例如,如果要将 TextBox 的内容绑定到 Employee 对象的 Name 属性,则目标对象是 TextBox,目标属性是 Text 属性,要使用的值是 Name,源对象是 Employee 对象。
  • 目标属性必须为依赖项属性。大多数 UIElement 属性都是依赖项属性,而大多数依赖项属性(除了只读属性)默认情况下都支持数据绑定。(只有DependencyObject 类型可以定义依赖项属性,所有 UIElement 都派生自 DependencyObject。)
  • 尽管图中并未指出,但应该注意,绑定源对象并不限于自定义 CLR 对象。WPF 数据绑定支持 CLR 对象和 XML 形式的数据。举例来说,绑定源可以是 UIElement、任何列表对象、与 ADO.NET 数据或 Web 服务关联的 CLR 对象,或是包含 XML 数据的 XmlNode。有关更多信息,请参见绑定源概述
    特别注意:当建立绑定时,是将绑定目标绑定到 绑定源。例如,如果要使用数据绑定在一个 ListBox 中显示一些基础 XML 数据,就是将 ListBox 绑定到 XML 数据。
数据流的方向

正如上文所述和上图中箭头所示,绑定的数据流可以从数据目标流向数据源(例如,当用户编辑 TextBox 的值时,源值会发生更改)和/或(如果绑定源提供正确的通知)从绑定源流向绑定目标(例如,TextBox 内容会随绑定源中的更改而进行更新)。
有时可能希望应用程序使用户可以更改数据并将数据传播回源对象。或者,可能不希望允许用户更新源数据。可以通过设置 Binding 对象的 Mode 属性来对此进行控制。下图演示不同类型的数据流:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值