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