Binding.RelativeSource Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает источник привязки, указав его расположение относительно положения целевого объекта привязки.
public:
property System::Windows::Data::RelativeSource ^ RelativeSource { System::Windows::Data::RelativeSource ^ get(); void set(System::Windows::Data::RelativeSource ^ value); };
public System.Windows.Data.RelativeSource RelativeSource { get; set; }
member this.RelativeSource : System.Windows.Data.RelativeSource with get, set
Public Property RelativeSource As RelativeSource
Значение свойства
Объект RelativeSource , указывающий относительное расположение используемого источника привязки. Значение по умолчанию — null.
Примеры
В следующем примере показан триггер стиля, который создает ToolTip сообщение об ошибке проверки. Значение метода задания привязывается к содержимому ошибки текущего TextBox ( TextBox используемого стиля) с помощью RelativeSource свойства. Дополнительные сведения об этом примере см. в статье "Практическое руководство. Реализация проверки привязки".
<Style x:Key="textBoxInError" TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)/ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
Полный пример см. в примере проверки привязки.
Комментарии
Это свойство обычно используется для привязки одного свойства объекта к другому свойству того же объекта или для определения привязки в стиле или шаблоне.
По умолчанию привязки наследуют контекст данных, указанный DataContext свойством, если он задан.
RelativeSource Однако свойство является одним из способов явного задания источника Binding и переопределения наследуемого контекста данных. Дополнительные сведения см. в разделе "Практическое руководство. Указание источника привязки".
Binding.Source Свойства Binding.ElementName также позволяют явно задать источник привязки. Однако для каждой привязки может быть задано только одно из трех свойств, ElementNameSourceа RelativeSourceтакже может возникнуть конфликт. Это свойство создает исключение, если существует конфликт источника привязки.
Сведения о XAML см. в разделе RelativeSource MarkupExtension.