.NET MAUI中如何使用Bold和Italic之外的FontAttributes?
解决.NET MAUI中引用系统字体的Black/Light等扩展样式问题
核心解决思路
由于FontAttributes枚举仅支持None、Bold、Italic及其组合,要调用Light、Black这类扩展字重样式,直接指定字体的完整显示名称是唯一可行方案——也就是对应字体文件在系统中注册的全名,而非仅字体家族名搭配FontAttributes。
具体操作步骤
- 确认字体完整名称
打开Windows「字体」设置,找到目标字体后右键选择「属性」,在「详细信息」标签页查看「名称」字段,这就是需要用到的完整字体名。比如Black版本的字体名称可能是"YourFontName Black"或"YourFontName-Black",Light版本同理。 - 在MAUI控件中直接调用
不管是XAML还是代码后台,直接将FontFamily设置为这个完整名称,无需额外设置FontAttributes:- XAML示例:
<Label Text="Black样式文本" FontFamily="YourFontName Black" /> <Label Text="Light样式文本" FontFamily="YourFontName Light" /> <Label Text="Black Italic组合样式文本" FontFamily="YourFontName Black Italic" /> - C#代码示例:
var blackStyleLabel = new Label { Text = "Black样式文本", FontFamily = "YourFontName Black" };
- XAML示例:
关于未打包应用的字体限制
当前.NET MAUI存在bug,无法将字体嵌入未打包应用,因此必须依赖系统已安装字体,上述直接指定完整字体名称的方式完全适配该场景。
内容的提问来源于stack exchange,提问作者kwl
相关产品推荐
相关产品推荐

