共用方式為


TemplateBinding 標記延伸

將控制項範本中的屬性值連結成為樣板化控制項上屬性的值。

XAML 屬性使用方式

<object property="{TemplateBinding targetProperty}" .../>

XAML 屬性使用方式 (針對樣板或樣式中的 Setter 屬性)

<Setter Property="propertyName" Value="{TemplateBinding targetProperty}" .../>

XAML 值

propertyName

在 setter 語法中設定之屬性的 DependencyProperty.Name

targetProperty

存在於樣板化型別上的相依性屬性,由其 DependencyProperty.Name 指定。

-或-

「穿插句點」的屬性名稱,由樣板化目標型別以外的不同型別定義。 這實際上是一個 PropertyPath。 請參閱 PropertyPath XAML 語法

備註

TemplateBinding 是針對樣板最佳化的繫結形式,類似於使用 {Binding RelativeSource={RelativeSource TemplatedParent}} 建構的 Binding。

RelativeSource 是另一個標記延伸,有時候會與 TemplateBinding 搭配或取而代之,以在樣板內執行相對屬性繫結。

這裡將不說明控制項樣板的概念,如需詳細資訊,請參閱 Control 樣式和範本

屬性 (Attribute) 語法是最常配合這個標記延伸使用的語法。 TemplateBinding 識別項字串後提供的字串語彙基元,是指派做為基礎 TemplateBindingExtension 延伸類別的 Property 值。

物件項目語法雖然可行,但由於沒有實際的應用程式,所以這裡不加說明。 TemplateBinding 是用來以評估後的運算式填滿 setter 內的值,而使用 TemplateBinding 的物件項目語法來填滿 <Setter.Property> 屬性項目語法則太過繁瑣。

TemplateBinding 也可以用於會指定 Property 屬性 (Property) 做為 property=value 配對組的詳細屬性 (Attribute) 使用方式中。

<object property="{TemplateBinding Property=targetProperty}" .../>

繁複的使用方法所適用的擴充,通常是具有一個以上可設定屬性或有些屬性為選擇性。 因為 TemplateBinding 只有一個必要的可設定屬性,所以這種詳細使用方式並不常見。

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

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

請參閱

參考

RelativeSource 標記延伸

繫結標記延伸

Style

ControlTemplate

概念

設定樣式和範本

XAML 概觀 (WPF)

標記延伸和 WPF XAML