Binding.RelativeSource 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
透過指定結合來源相對於結合目標位置的位置,取得或設定該結合源。
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 一個並報告驗證錯誤訊息。 設定器的值會利用屬性RelativeSource綁定當前(使用TextBox該樣式)的TextBox錯誤內容。 欲了解更多此範例資訊,請參閱 《如何實作綁定驗證》。
<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 屬性也讓你能明確設定綁定的來源。 然而,每個綁定的三個性質 ElementName中,只有 、 Source、 RelativeSource和 ,否則可能會發生衝突。 此特性若存在約束性來源衝突,會拋出例外。
關於 XAML 的資訊,請參見 RelativeSource MarkupExtension。