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 绑定源中要使用的值。 例如,如果要将 的内容 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 值
declaration
零个或多个用逗号 (,) 分隔的属性赋值子句。 有关详细信息,请参阅 绑定标记扩展 或 绑定声明概述。
构造函数
Binding() |
初始化 Binding 类的新实例。 |
Binding(String) |
使用初始路径初始化 Binding 类的新实例。 |
字段
DoNothing |
用作返回值,指示绑定引擎不执行任何操作。 |
IndexerName |
用作 PropertyName 的 PropertyChangedEventArgs 以指示索引器属性已更改。 |
SourceUpdatedEvent |
标识 SourceUpdated 附加事件。 |
TargetUpdatedEvent |
标识 TargetUpdated 附加事件。 |
XmlNamespaceManagerProperty |
标识 XmlNamespaceManager 附加属性。 |
属性
AsyncState |
获取或设置传递给异步数据调度程序的不透明数据。 |
BindingGroupName |
获取或设置此绑定所属的 BindingGroup 的名称。 (继承自 BindingBase) |
BindsDirectlyToSource |
获取或设置一个值,该值指示是相对于数据项还是 DataSourceProvider 对象计算 Path。 |
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 |
获取或设置用于在 XML 绑定中执行可以识别命名空间的 |
方法
附加活动
SourceUpdated |
当一个值从绑定目标传输到绑定源时发生,但仅限于其 NotifyOnSourceUpdated 值设置为 |
TargetUpdated |
当一个值从绑定源传输到绑定目标时发生,但仅限于其 NotifyOnTargetUpdated 值设置为 |