要查看英语原文,请勾选“英语”复选框。也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语
本文档已存档,并且将不进行维护。

BindingExpression 类

包含有关 Binding 的单个实例的信息。

命名空间:  System.Windows.Data
程序集:  PresentationFramework(在 PresentationFramework.dll 中)

public sealed class BindingExpression : BindingExpressionBase, 
	IWeakEventListener

BindingExpression 类型公开以下成员。

  名称说明
公共属性DataItem获取此 BindingExpression 所用的绑定源对象。
公共属性HasError获取一个值,该值指示父绑定是否具有一个失败的验证规则。 (继承自 BindingExpressionBase。)
公共属性ParentBinding返回当前 BindingExpressionBinding 对象。
公共属性ParentBindingBase获取从中创建此 BindingExpressionBase 对象的 BindingBase 对象。 (继承自 BindingExpressionBase。)
公共属性Status获取绑定表达式的状态。 (继承自 BindingExpressionBase。)
公共属性ValidationError获取导致 BindingExpressionBase 的此实例无效的 ValidationError (继承自 BindingExpressionBase。)
页首

  名称说明
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (继承自 Object。)
受保护的方法Finalize允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法GetHashCode用作特定类型的哈希函数。 (继承自 Object。)
公共方法GetType获取当前实例的 Type (继承自 Object。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法ToString返回表示当前对象的字符串。 (继承自 Object。)
公共方法UpdateSourceTwoWayOneWayToSource 绑定的形式将当前绑定目标值发送到绑定源属性。 (重写 BindingExpressionBase.UpdateSource()。)
公共方法UpdateTarget强制将数据从绑定源属性传输到绑定目标属性。 (重写 BindingExpressionBase.UpdateTarget()。)
公共方法ValidateWithoutUpdate对关联的 Binding 运行 ValidationStep 属性设置为 RawProposedValueConvertedProposedValue 的任何 ValidationRule 对象。 此方法不更新源。 (继承自 BindingExpressionBase。)
页首

  名称说明
显式接口实现私有方法IWeakEventListener.ReceiveWeakEvent此成员支持 Windows Presentation Foundation (WPF) 基础结构,不应在代码中直接使用。
页首

对于绑定的声明,Binding 类是高级别类。 BindingExpression 类是基础对象,用于保持绑定源与绑定目标之间的连接。 Binding 中包含可在多个 BindingExpression 对象之间共享的所有信息。 BindingExpression 是无法共享的实例表达式,其中包含有关 Binding 的所有实例信息。

例如,请考虑下面的示例,其中 myDataObjectMyData 类的实例,myBinding 是源 Binding 对象,MyData 类是包含名为 MyDataProperty 的字符串属性的已定义类。 此示例将 mytextTextBlock 的实例)的文本内容绑定到 MyDataProperty


//make a new source
  MyData myDataObject = new MyData(DateTime.Now);      
  Binding myBinding = new Binding("MyDataProperty");
  myBinding.Source = myDataObject;
  myText.SetBinding(TextBlock.TextProperty, myBinding);


您可以使用相同的 myBinding 对象创建其他绑定。 例如,可以使用 myBinding 对象将复选框的文本内容绑定到 MyDataProperty 在这种情况下,将有两个 BindingExpression 实例共享 myBinding 对象。

可以通过对数据绑定对象使用 GetBindingExpression 方法或 GetBindingExpression 方法,获得 BindingExpression 对象。

This example shows how to obtain the binding object from a data-bound target property.

You can do the following to get the Binding object:


// textBox3 is an instance of a TextBox
// the TextProperty is the data-bound dependency property
Binding myBinding = BindingOperations.GetBinding(textBox3, TextBox.TextProperty);


注意注意

You must specify the dependency property for the binding you want because it is possible that more than one property of the target object is using data binding.

Alternatively, you can get the BindingExpression and then get the value of the ParentBinding property.

For the complete example see Binding Validation Sample.

注意注意

If your binding is a MultiBinding, use BindingOperations.GetMultiBinding. If it is a PriorityBinding, use BindingOperations.GetPriorityBinding. If you are uncertain whether the target property is bound using a Binding, a MultiBinding, or a PriorityBinding, you can use BindingOperations.GetBindingBase.

.NET Framework

受以下版本支持:4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
显示: