Binding 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对绑定定义的高级访问,该定义连接绑定目标对象(通常为 WPF 元素)的属性以及任何数据源(例如数据库、XML 文件或任何包含数据的对象)。
public ref class Binding : System::Windows::Data::BindingBase
public class Binding : System.Windows.Data.BindingBase
type Binding = class
inherit BindingBase
Public Class Binding
Inherits BindingBase
- 继承
注解
Windows Presentation Foundation (WPF) 数据绑定为应用程序提供一种简单且一致的方法来呈现和交互数据。 通过数据绑定,可以同步两个不同对象的属性的值。
若要建立绑定,请使用 Binding 类或继承 BindingBase的其他类之一。 无论绑定的对象是什么以及数据源的性质,每个绑定都遵循下图所示的模型。
该图演示了以下基本 WPF 数据绑定概念。
每个绑定通常包含以下四个组件:绑定目标对象、目标属性、绑定源以及 Path 要使用的绑定源中的值。 例如,如果要将 a TextBox 的内容绑定到 Employee 对象的 Name 属性,则目标对象是 TextBox,目标属性是 Text 属性,要使用的值为 Name,而源对象是 Employee 对象。
目标属性必须是依赖属性。 这也意味着不能绑定字段。 对象的大多数属性都是依赖属性 UIElement 和大多数依赖属性,但只读属性除外,默认情况下支持数据绑定。 (只有 DependencyObject 类型可以定义依赖项属性和所有 UIElement 对象派生自 DependencyObject.)
虽然图中未指定,但应指出绑定源对象不限于自定义 CLR 对象。 WPF 数据绑定支持 CLR 对象和 XML 形式的数据。 为了提供一些示例,绑定源可以是、 UIElement任何列表对象、与 ADO.NET 数据或 Web 服务关联的 CLR 对象,或包含 XML 数据的 XmlNode。
使用 Mode 属性指定数据流的方向。 若要检测单向或双向绑定中的源更改,源必须实现适当的属性更改通知机制,例如 INotifyPropertyChanged。 有关示例,请参阅 “如何:实现属性更改通知”。 该 UpdateSourceTrigger 属性指定源更新的计时。 有关详细信息,请参阅 数据绑定概述中的“基本数据绑定概念”。
XAML 属性用法
<object property="{Binding declaration}"/>
XAML 值
声明 用逗号(,)分隔的零个或多个属性赋值子句。 有关详细信息,请参阅 绑定标记扩展 或 绑定声明概述。
构造函数
| 名称 | 说明 |
|---|---|
| Binding() |
初始化 Binding 类的新实例。 |
| Binding(String) |
使用初始路径初始化类的新实例 Binding 。 |
字段
| 名称 | 说明 |
|---|---|
| DoNothing |
用作返回的值,指示绑定引擎不执行任何操作。 |
| IndexerName |
用于PropertyNamePropertyChangedEventArgs指示索引器属性已更改。 |
| SourceUpdatedEvent |
标识 SourceUpdated 附加事件。 |
| TargetUpdatedEvent |
标识 TargetUpdated 附加事件。 |
| XmlNamespaceManagerProperty |
标识 XmlNamespaceManager 附加属性。 |
属性
| 名称 | 说明 |
|---|---|
| AsyncState |
获取或设置传递给异步数据调度程序不透明的数据。 |
| BindingGroupName |
获取或设置此绑定所属的名称 BindingGroup 。 (继承自 BindingBase) |
| BindsDirectlyToSource |
获取或设置一个值,该值指示是计算 Path 相对于数据项还是对象 DataSourceProvider 。 |
| Converter |
获取或设置要使用的转换器。 |
| ConverterCulture |
获取或设置要在其中计算转换器的区域性。 |
| ConverterParameter |
获取或设置要传递给 .. 的参数 Converter。 |
| Delay |
获取或设置在目标值更改后更新绑定源之前要等待的时间(以毫秒为单位)。 (继承自 BindingBase) |
| ElementName |
获取或设置要用作绑定源对象的元素的名称。 |
| FallbackValue |
获取或设置绑定无法返回值时要使用的值。 (继承自 BindingBase) |
| IsAsync |
获取或设置一个值,该值指示是否 Binding 应异步获取和设置值。 |
| Mode |
获取或设置一个值,该值指示绑定中数据流的方向。 |
| NotifyOnSourceUpdated |
获取或设置一个值,该值指示在将值从绑定目标传输到绑定源时是否引发 SourceUpdated 事件。 |
| NotifyOnTargetUpdated |
获取或设置一个值,该值指示在将值从绑定源传输到绑定目标时是否引发 TargetUpdated 事件。 |
| NotifyOnValidationError |
获取或设置一个值,该值指示是否在绑定对象上引发 Error 附加事件。 |
| Path |
获取或设置绑定源属性的路径。 |
| RelativeSource |
通过指定绑定目标相对于绑定目标的位置来获取或设置绑定源。 |
| Source |
获取或设置要用作绑定源的对象。 |
| StringFormat |
获取或设置一个字符串,该值指定在绑定将绑定值显示为字符串时如何设置绑定的格式。 (继承自 BindingBase) |
| TargetNullValue |
获取或设置源值时在目标中使用的值 |
| UpdateSourceExceptionFilter |
获取或设置一个处理程序,可用于提供自定义逻辑来处理绑定引擎在更新绑定源值期间遇到的异常。 仅当已关联 ExceptionValidationRule 到绑定时,这才适用。 |
| UpdateSourceTrigger |
获取或设置一个值,该值确定绑定源更新的计时。 |
| ValidatesOnDataErrors |
获取或设置一个值,该值指示是否包含 .DataErrorValidationRule |
| ValidatesOnExceptions |
获取或设置一个值,该值指示是否包含 .ExceptionValidationRule |
| ValidatesOnNotifyDataErrors |
获取或设置一个值,该值指示是否包含 .NotifyDataErrorValidationRule |
| ValidationRules |
获取检查用户输入有效性的规则集合。 |
| XPath |
获取或设置一个 |
附加属性
| 名称 | 说明 |
|---|---|
| XmlNamespaceManager |
获取或设置 XmlNamespaceManager 用于在 XML 绑定中执行命名空间感知 |
方法
附加活动
| 名称 | 说明 |
|---|---|
| SourceUpdated |
当将值从绑定目标传输到绑定源时发生,但仅适用于值设置为 |
| TargetUpdated |
当值从绑定源传输到绑定目标时发生,但仅适用于值设置为 |