Язык

BindingOperations.SetBinding Метод

Определение

Связывает привязку с целевым свойством в целевом объекте. Этот метод эквивалентен коду использования расширения разметки {Binding} в разметке XAML.

 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

Привязка для назначения целевому свойству. Эта привязка должна быть инициализирована: важные свойства привязки, такие как Путь, уже должны быть заданы перед передачей в качестве параметра.

Комментарии

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

BindingOperations.SetBinding является статическим методом служебной программы и делает в основном то же самое, что и FrameworkElement.SetBinding. Чаще всего используется FrameworkElement.SetBinding , так как это метод экземпляра. Одно важное различие заключается в том, что BindingOperations.SetBinding может использовать целевое значение любого объекта DependencyObject, в то время как FrameworkElement.SetBinding может использоваться только для целевого объекта FrameworkElement . Обычно это не имеет значения для большинства классов среда выполнения Windows, используемых для пользовательского интерфейса XAML, так как они в основном подклассы FrameworkElement в любом случае. Но различие может иметь значение, если вы нацелены на привязки на собственные пользовательские классы, производные от DependencyObject или UIElement.

Note

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

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

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

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

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