Avalonia 中文乱码小记
主要是记录自己遇到的情况.
1, axaml文件编码
我折腾半天才发现在axaml文件中设置的中文,不论怎么弄都是乱码.在vs2026 右下角找一下如图, 如果不是UTF-8 with BOM, 那就把在vs选项中, 搜索编码.


2, 自定义字体.
我测试了阿里普惠字体, 思源, 方正, 都是报错
System.InvalidOperationException:“Could not create glyphTypeface. Font family: $Default (key: ). Style: Normal. Weight: Normal. Stretch: Normal”
或者是Font family: 具体的路径.
只有小米的字体, MiSans 的 MiSans-Normal.ttf 不报错. 就是同样是小米的字体, 换成MiSans-Light.ttf 都还是报错.
在App.axaml 添加
<Application.Resources> <FontFamily x:Key="MiSans">avares://你的项目名称/Fonts/MiSans-Normal.ttf#MiSans</FontFamily> </Application.Resources>
并且把文件的属性设置为AvaloniaResource

给具体的控件设置字体.
<TextBlock x:Name="TextBlockHeiTi" FontFamily="{StaticResource MiSans}">中文</TextBlock>
2.1 设置全局
//Program.cs public static AppBuilder BuildAvaloniaApp() { var defau= new FontManagerOptions{ DefaultFamilyName = "黑体" }; //声明 return AppBuilder.Configure<App>() .UsePlatformDetect() .WithInterFont() .With(defau) //这里 .LogToTrace(); }
浙公网安备 33010602011771号