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

一个 RelativeSource 对象,它指定要使用的绑定源的相对位置。 默认值为 null

示例

以下示例显示了创建 ToolTip 报告验证错误消息的样式触发器。 setter 的值绑定到当前 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.ElementName 属性 Binding.Source 还允许显式设置绑定的源。 但是,应为每个绑定设置三个属性中的ElementNameSourceRelativeSource一个,或发生冲突。 如果存在绑定源冲突,此属性将引发异常。

有关 XAML 信息,请参阅 RelativeSource MarkupExtension

适用于

另请参阅