BindingOperations.SetBinding 方法

定义

Binding 与目标对象上的目标属性相关联。 此方法是等效于在 XAML 标记中使用 {Binding} 标记扩展 的代码。

 static void SetBinding(DependencyObject const& target, DependencyProperty const& dp, BindingBase const& binding);
public static void SetBinding(DependencyObject target, DependencyProperty dp, BindingBase binding);
function setBinding(target, dp, binding)
Public Shared Sub SetBinding (target As DependencyObject, dp As DependencyProperty, binding As BindingBase)

参数

target
DependencyObject

应为已评估绑定目标的对象。

dp
DependencyProperty

要绑定的目标上的 属性,由其标识符指定。 这些标识符通常作为定义 目标 对象的类型或其基类型的一个静态只读属性提供。 也可以绑定到附加属性,但请参阅备注。

binding
BindingBase

要分配给目标属性的绑定。 应初始化此 绑定 :在将它作为参数传递之前,应已设置重要的 Binding 属性(如 Path )。

注解

可以绑定到自定义依赖属性或自定义附加属性,作为 dp 参数传递的标识符不必是Windows 运行时定义的属性。

BindingOperations.SetBinding 是一种静态实用工具方法,与 FrameworkElement.SetBinding 基本相同。 使用 FrameworkElement.SetBinding 更为常见,因为它是实例方法。 不过,一个重要区别是 BindingOperations.SetBinding 可以使用任何 DependencyObject的目标值,而 FrameworkElement.SetBinding 根据定义只能用于 FrameworkElement 目标。 对于用于 XAML UI 的大多数Windows 运行时类来说,这通常并不重要,因为这些类大多是 FrameworkElement 子类。 但是,如果要针对派生自 DependencyObjectUIElement 的自己的自定义类上的绑定,则区别可能很重要。

注意

调用 SetBinding 方法并传入新的 Binding 对象不一定会删除现有绑定。 应首先调用 DependencyObject.ClearValue 方法,然后调用 SetBinding。

绑定到附加属性

可以将数据绑定放在目标对象支持的任何附加属性上。 从技术上讲, DependencyObject 支持所有可能的附加属性,但通常只对与该对象或方案相关的附加属性设置绑定。 例如,仅当预期目标元素具有将使用该信息的 Grid 父级时,才会在 Grid.Row 上设置绑定。 指定 dp 参数作为附加属性的所有者类上存在的依赖属性标识符 (Grid.Row 示例,该标识符为 Grid.RowProperty) 。 在目标上找不到该标识符,因为它是一个附加属性。 有关附加属性的详细信息,请参阅 附加属性概述

适用于

另请参阅