Binding.RelativeSource 屬性

定義

透過指定繫結來源對繫結目標的相對位置,取得或設定繫結來源。

C#
public System.Windows.Data.RelativeSource RelativeSource { get; set; }

屬性值

RelativeSource

RelativeSource 物件,指定要使用的繫結來源相對位置。 預設為 null

範例

下列範例顯示建立的樣式觸發程式會 ToolTip 報告驗證錯誤訊息。 setter 的值會系結至目前 TextBox (TextBox 使用 屬性) 樣式 (RelativeSource 的錯誤內容。 如需此範例的詳細資訊,請參閱 如何:實作系結驗證

XAML
<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.ElementNameBinding.Source 屬性也可讓您明確設定系結的來源。 不過,每個系結只能設定三個屬性 ElementName 之一 、 SourceRelativeSource ,或可能發生衝突。 如果系結來源衝突,這個屬性會擲回例外狀況。

如需 XAML 資訊,請參閱 RelativeSource MarkupExtension

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

另請參閱