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);
'Create the source string 
Dim s As String = "Hello"

'Create the binding description 
Dim b As New Binding()
b.Mode = BindingMode.OneTime
b.Source = s

'Attach the binding to the target 
Dim MyText As New TextBlock()
MyText.SetBinding(TextBlock.TextProperty, b)

Комментарии

Этот метод является удобным методом, который вызывает BindingOperations.SetBinding, передавая текущий экземпляр в качестве целевого параметра.

Для обеспечения совместимости параметр привязки имеет тип BindingBase, но в среда выполнения Windows всегда передается экземпляр Binding. Привязка является производным от BindingBase.

Параметр dp принимает идентификатор свойства зависимостей. Дополнительные сведения о свойствах зависимостей и о том, как значение DependencyProperty служит идентификатором, см. в статье Общие сведения о свойствах зависимостей.

Вы можете привязаться к пользовательским свойствам зависимостей или присоединенным свойствам. Идентификатор, который вы передаете в качестве параметра dp, не обязательно должен быть среда выполнения Windows определенного свойства.

Будет ли привязка, созданная из кода, использовать действующий контекст данных, зависит от соображений времени существования объекта. Например, значение DataContext , заданное из XAML, будет недоступно до синтаксического анализа XAML. В этом случае может потребоваться использовать обработчик Loaded для добавления привязок из кода.

Примечание

Вызов метода SetBinding и передача нового объекта Binding не обязательно приведет к удалению существующей привязки. Вместо этого следует сначала вызвать метод DependencyObject.ClearValue , а затем вызвать SetBinding.

Привязка к присоединенным свойствам

Привязки данных можно поместить в любые присоединенные свойства, поддерживаемые целевым объектом. Технически DependencyObject поддерживает все возможные присоединенные свойства, но обычно привязка устанавливается только для присоединенного свойства, соответствующего этому объекту или вашему сценарию. Например, можно задать привязку для Grid.Row только в том случае, если предполагается, что целевой элемент имеет родительский элемент Grid , который будет использовать эти сведения. Укажите параметр dp в качестве идентификатора свойства зависимостей, который существует в классе владельцев присоединенного свойства (в примере Grid.Row это идентификатор Grid.RowProperty). Вы не найдете этот идентификатор в целевом объекте, так как это присоединенное свойство. Дополнительные сведения о присоединенных свойствах см. в статье Общие сведения о присоединенных свойствах.

Применяется к

См. также раздел