HOW TO:使用 SystemFonts
本範例說明如何使用 SystemFonts 類別的靜態資源,以便設定或自訂按鈕的樣式。
範例
系統資源會將數個系統判斷的值同時公開為資源和屬性,協助您建立與系統設定一致的視覺效果。 SystemFonts 是一種類別,其中同時包含做為靜態屬性的系統字型值,以及參考可在執行階段動態存取這些值之資源索引鍵的屬性。 例如,CaptionFontFamily 是 SystemFonts 值,CaptionFontFamilyKey 則是對應的資源索引鍵。
在 XAML 中,您可以將 SystemFonts 的成員當做靜態屬性來使用,或是當做動態資源參考 (以靜態屬性值做為索引鍵) 來使用。 如果您希望字型度量資訊在應用程式執行時自動更新,請使用動態資源參考,否則,請使用靜態值參考。
![]() |
---|
資源索引鍵會將後置字元 "Key" 附加至屬性名稱。 |
下列範例說明如何存取及使用 SystemFonts 的屬性做為靜態值,以便設定或自訂按鈕的樣式。 這個標記範例會將 SystemFonts 值指派給按鈕。
<Button Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="3"
FontSize="{x:Static SystemFonts.IconFontSize}"
FontWeight="{x:Static SystemFonts.MessageFontWeight}"
FontFamily="{x:Static SystemFonts.CaptionFontFamily}">
SystemFonts
</Button>
若要在程式碼中使用 SystemFonts 的值,您不需要使用靜態值或動態資源參考。 請改用 SystemFonts 類別的非索引鍵屬性。 雖然非索引鍵屬性是明顯定義為靜態屬性,但由系統裝載的 WPF 執行階段行為會即時重新評估屬性,並會適當地將使用者對於系統值所做的變更納入考量。 下列範例顯示如何指定按鈕的字型設定。
Dim btn As New Button()
btn.Content = "SystemFonts"
btn.Background = SystemColors.ControlDarkDarkBrush
btn.FontSize = SystemFonts.IconFontSize
btn.FontWeight = SystemFonts.MessageFontWeight
btn.FontFamily = SystemFonts.CaptionFontFamily
cv1.Children.Add(btn)
Button btncsharp = new Button();
btncsharp.Content = "SystemFonts";
btncsharp.Background = SystemColors.ControlDarkDarkBrush;
btncsharp.FontSize = SystemFonts.IconFontSize;
btncsharp.FontWeight = SystemFonts.MessageFontWeight;
btncsharp.FontFamily = SystemFonts.CaptionFontFamily;
cv1.Children.Add(btncsharp);