.NET7 Windows项目中MauiFont未自动导入,如何手动引入home.ttf?
解决MAUI Windows平台自定义字体不识别问题
针对你遇到的自定义字体在Windows平台无法识别的情况,可以按以下步骤排查解决:
确认项目文件中的字体配置
打开项目的.csproj文件,检查MauiFont项是否明确指定了FontName属性,确保配置如下:<MauiFont Include="Resources\Fonts\home.ttf" FontName="home" />自动设置Build Action为MauiFont时可能未自动添加
FontName,手动补充后能确保Windows平台正确识别字体标识。在Windows平台手动注册字体
打开Platforms/Windows/Program.cs,在创建MauiApp的代码中手动注册字体:var builder = MauiApp.CreateBuilder(); builder.ConfigureFonts(fonts => { // 注册自定义字体,第一个参数是字体文件名,第二个是要使用的FontFamily名称 fonts.AddFont("home.ttf", "home"); }); builder.UseMauiApp<App>(); // 其他配置代码...验证字体的实际内部名称
部分ttf文件的内部字体名称可能与文件名不一致,Windows平台会优先识别内部名称。可以通过以下方式查看:- 在Windows系统中双击打开home.ttf文件
- 在字体预览窗口的标题栏或“详细信息”中查看实际的字体名称
- 将代码中
FontFamily的值替换为这个实际名称
清理重建Windows项目
右键解决方案中的Windows项目,依次选择“清理”和“生成”,清除可能存在的缓存文件后重新运行应用。
内容的提问来源于stack exchange,提问作者IV.
相关产品推荐
相关产品推荐

