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
Объект, который должен быть целевым объектом вычисляемой привязки.
Свойство целевого объекта для привязки, указанное его идентификатором. Эти идентификаторы обычно доступны как статические свойства только для чтения в типе, который определяет целевой объект или один из его базовых типов. Вы также можете привязать к присоединенным свойствам, но см. примечания.
- 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). Этот идентификатор не будет находиться в целевом объекте, так как это присоединенное свойство. Дополнительные сведения о присоединенных свойствах см. в обзоре присоединенных свойств.