You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI Windows端Font Awesome图标完全空白问题求助

.NET MAUI Windows端Font Awesome图标完全不显示问题排查

开发.NET MAUI应用时,Windows端可正常运行,但与Android、iOS端不同,Windows端的Font Awesome图标完全不显示(并非空白方块,而是彻底无内容)。

已有的代码信息

MauiProgram.cs 字体注册代码

fonts.AddFont("font-awesome-solid.otf", "font-awesome-solid");

图标使用的XAML示例

<customcontrols:CustomButton     
  Grid.Column="1"
  Grid.Row="2"
  x:Name="NextButton"
  Text="{x:Static resources:AppResources.buttonTextNextPage}"
  Clicked="OnNextButtonClicked">

  <Button.ImageSource>
    <FontImageSource FontFamily="font-awesome-solid"
      Glyph="{x:Static fonts:FontAwesome.CaretRight}"
      Size="32" />
  </Button.ImageSource>
</customcontrols:CustomButton>

补充的CustomButton自定义控件代码

public CustomButton() {
    this.SetDynamicResource(VisualElement.StyleProperty, SystemConstant.CustomButtonStyle);
}

private string _glyphName = null;

public string Glyph { 
    get 
    {
        return _glyphName;
    }
    set
    {
        _glyphName = value;
        var fis = new FontImageSource
        {
            FontFamily = "font-awesome-solid#",
            Glyph = value,
            Size = 25,
        };
        fis.SetDynamicResource(FontImageSource.ColorProperty, "LabelTextColor");
        this.ImageSource = fis;
    }
}

排查思路

  • 检查字体名称匹配:Windows端对字体名称识别更严格,右键打开font-awesome-solid.otf文件,查看属性→详细信息里的“标题”字段,确认注册的别名font-awesome-solid是否和字体内部名称一致,若不一致需调整注册或使用的FontFamily值。
  • 移除FontFamily的#后缀:CustomButton代码中FontFamily用了font-awesome-solid#,Windows端不需要这个后缀,改成和注册时一致的font-awesome-solid再测试。
  • 确认字体文件嵌入属性:检查font-awesome-solid.otf的生成操作是否设为MauiFont,复制到输出目录设为“如果较新则复制”,确保Windows端能读取到字体文件。
  • 验证Glyph值正确性:确认fonts:FontAwesome.CaretRight对应的Glyph编码是否和当前使用的Font Awesome版本匹配,不同版本图标编码可能有差异。
  • 排查ImageSource覆盖问题:XAML中设置了Button.ImageSource,而CustomButton的Glyph属性也会设置ImageSource,检查是否存在属性冲突导致图标被覆盖的情况。
  • 排除颜色/尺寸干扰:临时把FontImageSource的Size调大、颜色设为红色,排除因颜色和背景一致或尺寸过小导致看不到图标的可能。

内容的提问来源于stack exchange,提问作者Mi-krater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 06:03:42