如何:使用 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 的运行时行为将会实时重新评估这些属性,并且会适当考虑对系统值进行用户驱动的更改。 以下示例演示如何指定按钮的字体设置。
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);
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)
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈