共用方式為


RelativeSource 標記延伸

更新:2007 年 11 月

指定 RelativeSource 繫結來源的屬性,以在繫結標記延伸內使用,或當設定 XAML 中所建立 Binding 項目的 RelativeSource 屬性時使用。

XAML 屬性使用方式

<Binding RelativeSource="{RelativeSource modeEnumValue}" .../>

XAML 屬性使用方式 (以巢狀方式置於 Binding 延伸內)

<object property="{Binding RelativeSource={RelativeSource modeEnumValue} ...}" .../>

XAML 物件項目使用方式

<Binding>
  <Binding.RelativeSource>
    <RelativeSource Mode="modeEnumValue"/>
  </Binding.RelativeSource>
</Binding>
- or 
<Binding>
  <Binding.RelativeSource>
    <RelativeSource
      Mode="FindAncestor"
      AncestorType="{x:Type typeName}"
      AncestorLevel="intLevel"
    />
  </Binding.RelativeSource>
</Binding>

XAML 值

modeEnumValue

需要下列其中一項:

FindAncestor

字串語彙基元 FindAncestor。使用此語彙基元可進入某個模式,讓 RelativeSource 指定祖系型別以及選擇性指定祖系層級。這相當於 RelativeSource 建立時將其 Mode 屬性設為 FindAncestor

typeName

FindAncestor 模式的必要項。填入 AncestorType 屬性的型別名稱。

intLevel

FindAncestor 模式的選擇項。祖系層級 (朝邏輯樹狀結構的父項目方向評估)。

備註

在上述 FindAncestor 模式的物件項目語法中,FindAncestor 模式特別使用了第二種物件項目語法。FindAncestor 模式需要 AncestorType 值。您必須使用要尋找之祖系型別的 x:Type 標記延伸參考,將 AncestorType 設為屬性。當繫結要求在執行階段處理時,會使用 AncestorType 值。

對於 FindAncestor 模式來說,當項目樹狀結構可能有超過一個祖系屬於該型別時,選擇性屬性 AncestorLevel 將有助於釐清祖系查閱。

如需使用 FindAncestor 模式的詳細資訊,請參閱 RelativeSource

這裡將不說明資料繫結的概念,另請參閱資料繫結概觀

在 WPFXAML 處理器實作中,這個標記延伸的處理是由 RelativeSource 類別定義的。

RelativeSource 是一種標記延伸。如果必須將屬性 (Attribute) 值加上逸出符號,以免成為常值或處理常式名稱,而且這個動作必須更全面地實施 (而不是只對特定型別或屬性 (Property) 設定型別轉換子 (Type Converter)),則通常會實作標記延伸。XAML 所有的標記延伸在屬性 (Attribute) 語法中使用 { 和 } 字元,透過這個慣例,XAML 處理器會辨認出標記延伸必須處理該屬性 (Attribute)。如需詳細資訊,請參閱標記延伸和 XAML

請參閱

概念

設定樣式和範本

XAML 概觀

標記延伸和 XAML

資料繫結概觀

繫結宣告概觀

參考

Binding

x:Type 標記延伸