FrameworkElement.SetBinding(DependencyProperty, BindingBase) 方法

定义

使用提供的绑定对象将绑定附加到 FrameworkElement

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

参数

dp
DependencyProperty

数据绑定的属性的依赖属性标识符。

binding
BindingBase

要用于属性的绑定。

示例

此示例通过调用 SetBinding建立到 对象上的依赖属性的绑定。

// Create the source string.
string s = "Hello";

// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;

// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);

注解

此方法是一种方便的方法,可调用 BindingOperations.SetBinding,并将当前实例作为 target 参数传递。

出于兼容性原因,binding参数的类型为 BindingBase,但在Windows 运行时始终传递 Binding 实例。 Binding 派生自 BindingBase

参数 dp 采用依赖属性标识符。 有关依赖属性以及 DependencyProperty 值如何充当标识符的详细信息,请参阅 依赖属性概述

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

从代码创建的绑定能否使用操作数据上下文取决于对象生存期的注意事项。 例如,在分析 XAML 之前,从 XAML 设置的 DataContext 值将不可用。 在这种情况下,可能需要使用 Loaded 处理程序从代码中添加绑定。

注意

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

绑定到附加属性

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

适用于

另请参阅