如何:使用 SystemFonts

此示例演示如何使用 SystemFonts 类的静态资源来设置按钮样式或自定义按钮。

示例

系统资源将系统确定的许多值以资源和属性的形式公开,以帮助您创建与系统设置协调一致的视觉效果。 SystemFonts 是一个类,其中既包含作为静态属性的系统字体值,又包含引用可用于在运行时动态访问这些值的资源键的属性。 例如,CaptionFontFamilySystemFonts 值,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);

请参见

任务

如何:使用系统画笔绘制区域

如何:使用 SystemParameters

如何:使用系统字体键

参考

SystemFonts

x:Static 标记扩展

DynamicResource 标记扩展

概念

资源概述

其他资源

资源帮助主题