Поделиться через


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

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

Комментарии

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

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

Примечание

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

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

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

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

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