













转自:豆包 AI
Avalonia、Avalonia.Controls、基础控件、渲染引擎、基础Window/List/Grid、老版开源TreeDataGrid、Rider插件、VS Code插件,全部MIT,随便商用。
重点:老版TreeDataGrid是开源免费;新版TreeDataGrid是 Avalonia Pro 专有收费控件,这点很多人踩坑。
官网现在统一三层:Plus / Pro / Enterprise(原Accelerate更名)
XPF = 在Linux/国产系统直接跑原有WPF代码,不用大规模改写WPF工程,独立产品,不属于Plus/Pro
重要:不用XPF,单纯原生Avalonia开发,完全不需要买这个。如果你是从零新建Avalonia项目,不需要XPF。
这些是.NET生态老牌控件厂商,支持Avalonia,单独购买、单独注册许可,信创项目如果需要复杂图表、Grid、报表会用到:
社区免费控件库:Avalonia.Controls.DataGrid、Material.Avalonia、FluentAvalonia 全部MIT,免费商用,不用注册授权,信创项目很常用。
✅ 推荐方案(无任何官方付费组件)
Avalonia开源核心 + Material.Avalonia/FluentAvalonia + 开源DataGrid + 自己封装表格/图表 全程MIT,不需要注册Avalonia账号、不需要License、无授权校验,打包到银河麒麟/统信完全没问题
表格需求:用开源DataGrid;树形表格:用旧版MIT TreeDataGrid(注意包名区分,不要引入Pro版本)
⚠️ 什么时候才需要付费:
豆包整理的一份纯开源Avalonia信创项目推荐NuGet清单(全部MIT,无任何商业依赖)
适配:银河麒麟V10、统信UOS V20;支持 X64 / ARM64 / LoongArch64;Avalonia 推荐固定版本 12.0.x(稳定、原生龙芯支持)
<!-- Avalonia 核心 -->
<PackageReference Include="Avalonia" Version="12.0.10" />
<PackageReference Include="Avalonia.Desktop" Version="12.0.10" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="12.0.10" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="12.0.10" />
<!-- FluentAvalonia:复刻WinUI风格控件,NavigationView、CommandBar、Dialog、ToggleSplitButton,信创政务界面很常用 -->
<PackageReference Include="FluentAvalonia" Version="2.2.0" />
<!-- Material.Avalonia:Material Design 风格,表单、输入框、卡片 -->
<PackageReference Include="Material.Avalonia" Version="3.0.0" />
<PackageReference Include="Material.Avalonia.Dialogs" Version="3.0.0" />
<!-- 普通DataGrid 开源版本,MIT -->
<PackageReference Include="Avalonia.Controls.DataGrid" Version="12.0.10" />
<!-- 【免费旧版TreeDataGrid,MIT,⚠️ 不要安装 Avalonia.TreeDataGrid(新版Pro收费)】 -->
<PackageReference Include="Avalonia.Controls.TreeDataGrid" Version="11.0.10" />
⚠️ 包名区分大坑:
- ✅
Avalonia.Controls.TreeDataGrid:MIT免费- ❌
Avalonia.TreeDataGrid:Avalonia Pro商业控件,带授权校验
<!-- MVVM 首选,ObservableObject、RelayCommand,信创项目广泛使用 -->
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
<!-- 可选:依赖注入,大型项目用 -->
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<!-- 文件选择器增强、文件拖拽辅助 -->
<PackageReference Include="Avalonia.Styling" Version="12.0.10" />
<!-- 日志(可选)Serilog MIT -->
<PackageReference Include="Serilog" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.1" />
<!-- 图标:Material Icons 字体图标 -->
<PackageReference Include="Material.Icons.Avalonia" Version="2.1.0" />
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml.Styling;
namespace YourAppName;
public partial class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
// 全局字体回退,适配银河麒麟、统信UOS
this.Resources["FontFamily"] =
new Avalonia.Media.FontFamily("WenQuanYi Zen Hei,Noto Sans CJK SC,Source Han Sans CN,SimHei");
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow();
}
base.OnFrameworkInitializationCompleted();
}
}
配套 axaml 全局引用:所有TextBlock默认继承这个FontFamily
# 兆芯/海光 x64
dotnet publish -c Release -r linux-x64 --self-contained true /p:PublishAot=true /p:IncludeNativeLibrariesForSelfExtract=true
# 飞腾/鲲鹏 arm64
dotnet publish -c Release -r linux-arm64 --self-contained true /p:PublishAot=true /p:IncludeNativeLibrariesForSelfExtract=true
# 龙芯 LoongArch64(Avalonia12+)
dotnet publish -c Release -r linux-loongarch64 --self-contained true /p:PublishAot=true /p:IncludeNativeLibrariesForSelfExtract=true
Avalonia.Pro、Avalonia.TreeDataGrid 的包,会引入授权校验libgl1-mesa-dev libgbm-dev libinput-dev此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。