如何:使用 SystemFonts
更新:2007 年 11 月
此示例演示如何使用 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 的运行时行为将会实时重新评估这些属性,并且会正确考虑对系统值所进行的面向用户的更改。下面的示例演示如何指定按钮的字体设置。
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);