內嵌樣式和範本

Windows Presentation Foundation (WPF) 提供 Style 物件和範本物件( FrameworkTemplate 子類別)作為定義資源中專案視覺外觀的方式,以便使用多次。 因此,XAML 中的屬性會採用類型 StyleFrameworkTemplate ,而且幾乎一律會參考現有的樣式和範本,而不是內嵌定義新的樣式。

內嵌樣式和範本的限制

在 Extensible Application Markup Language (XAML)中,樣式和範本屬性在技術上可以透過兩種方式之一來設定。 您可以使用屬性語法來參考資源內定義的樣式,例如 < 物件 Style="{StaticResource myResourceKey。 }" .../> 或者,您可以使用屬性元素語法來定義內嵌樣式,例如:

<object>

<object.Style>

< Style .../>

</object.Style>

</object>

屬性使用方式更為常見。 內嵌且未在資源中定義的樣式,一定只限于包含的專案,而且無法輕易地重複使用,因為它沒有資源索引鍵。 一般而言,資源定義的樣式比較多才多藝且有用,而且更符合一般 Windows Presentation Foundation (WPF) 程式設計模型原則,將程式邏輯與標記中的設計分開。

通常沒有理由設定樣式或範本內嵌,即使您只打算在該位置使用該樣式或範本。 大部分可以採用樣式或範本的專案也都支援 content 屬性和 con帳篷模式l。 如果您只使用透過樣式設定或範本化一次建立的任何邏輯樹狀結構,則只要在直接標記中以對等子項目填入該內容屬性會比較容易。 這會完全略過樣式和範本機制。

傳回物件之標記延伸所啟用的其他語法,也可以用於樣式和範本。 有兩個可能案例的擴充功能包括 TemplateBinding Binding

另請參閱