14 KiB
介绍
AtomUI 是面向 Avalonia/.NET 桌面应用的 Ant Design 6 组件体系,目标是把 Ant Design 的企业级交互模式、 视觉语言、设计 Token 和主题定制能力带到 Windows、macOS、Linux 原生跨平台应用中。
项目提供面向生产场景的桌面控件、图标包、字体包、原生窗口集成、DataGrid、ColorPicker,以及用于自定义控件、 Token 和本地化开发的源代码生成器。欢迎提交 Issue、PR 和改进建议。
特性
- 将 Ant Design 6 的交互体验和视觉体系适配到原生 Avalonia 桌面应用。
- 提供覆盖布局、导航、数据录入、反馈、数据展示等场景的开箱即用控件,并按需提供 DataGrid、ColorPicker 等高级包。
- 基于 Avalonia 样式与资源系统实现 Token 驱动的主题能力,便于在应用级统一定制视觉风格。
- 使用统一的 .NET/XAML 开发模型支持 Windows、macOS、Linux 跨平台桌面应用。
- 提供自定义控件、主题 Token、本地化相关的源代码生成能力,减少重复基础设施代码。
运行环境
.NET 10(构建 AtomUI MSBuild 集成需要 .NET 10 SDK)
Avalonia 12.1.3
支持 Windows、macOS、Linux 跨平台
最新版本说明
AtomUI 6.2.5 修复应用主题切换后 Window 内容背景未更新的问题, 同时保留透明窗口行为和显式设置的后备背景。生成的注册组类型名随版本变化, 请同步升级相关包、重新编译已编译的消费方,并重新发布裁剪/NativeAOT 应用。 详情见 6.2.5 API 迁移指南和 Changelog。
感谢通明湖中心孵化 AtomUI OSS
感谢 Gitee 对 AtomUI 的认可
中文社区
目前我们提供 QQ 和微信开发者交流群,欢迎对 AtomUI 或 Avalonia 感兴趣的开发者扫码加入:
|
|
PS:扫码请注明来意,比如:学习
AtomUI或Avalonia爱好者。
开始使用
AtomUI 推荐通过 NuGet 安装。先安装主桌面控件包,再根据应用需要按需添加 DataGrid、ColorPicker、Extras 等可选包。 下面示例使用当前项目最新版本。
目前我们已经发布的包如下:
| 包名 | 描述 |
|---|---|
| AtomUI.Native | 原生平台适配基础设施 |
| AtomUI.Core | 核心基础设施 — 主题系统、Token 系统、动画 |
| AtomUI.Fonts.AlibabaSans | Alibaba Sans 字体包 |
| AtomUI.Fonts.AlibabaPuHuiTi | 阿里巴巴普惠体字体包 |
| AtomUI.Icons.Shared | 图标基础设施 |
| AtomUI.Icons.AntDesign | Ant Design 图标包 |
| AtomUI.Controls.Shared | 面向控件开发的共享接口与枚举 |
| AtomUI.Controls | 基础控件与通用能力 |
| AtomUI.Desktop.Controls | 桌面控件库 — 主要安装包 |
| AtomUI.Desktop.Controls.DataGrid | DataGrid 数据表格控件(按需引入) |
| AtomUI.Desktop.Controls.ColorPicker | ColorPicker 颜色选择器控件(按需引入) |
| AtomUI.Desktop.Controls.Extras | 补充桌面控件(按需引入) |
| AtomUI.Generator | 面向自定义控件、Token 与本地化开发的源代码生成器 |
dotnet add package AtomUI.Desktop.Controls --version 6.2.5
dotnet add package AtomUI.Desktop.Controls.DataGrid --version 6.2.5
dotnet add package AtomUI.Desktop.Controls.ColorPicker --version 6.2.5
dotnet add package AtomUI.Desktop.Controls.Extras --version 6.2.5
您也可以在 IDE 的 NuGet 包管理器中安装。以 Rider 为例,可以依次点击:
NuGet -> 软件包
搜索 AtomUI,即可找到可用包,并按项目需要安装。
安装前请查看包详情中的“框架”和“依赖”,确认目标框架与 Avalonia 版本兼容。
启用 AtomUI 库
配置项目文件
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AtomUI.Desktop.Controls" Version="6.2.5"/>
<PackageReference Include="AtomUI.Desktop.Controls.DataGrid" Version="6.2.5"/>
<PackageReference Include="AtomUI.Desktop.Controls.ColorPicker" Version="6.2.5"/>
<PackageReference Include="AtomUI.Desktop.Controls.Extras" Version="6.2.5"/>
<PackageReference Include="AvaloniaUI.DiagnosticsSupport" Version="2.2.1"/>
</ItemGroup>
</Project>
配置程序入口文件
在 AppBuilder 链上启用 AtomUI:
using Avalonia;
using System;
using AtomUI;
using AtomUI.Desktop.Controls;
using AtomUI.Localization;
using AtomUI.Theme;
using ReactiveUI.Avalonia;
namespace AtomUIProgressApp;
internal class Program
{
[STAThread]
public static void Main(string[] args) => BuildAvaloniaApp()
.StartWithClassicDesktopLifetime(args);
public static AppBuilder BuildAvaloniaApp()
{
return AppBuilder.Configure<App>()
.UseReactiveUI()
.UseAtomUIPlatformDetect()
.WithAtomUIDefaultOptions()
.UseAtomUI(builder =>
{
builder.UseLanguages(
LanguageTags.ZhCN,
[LanguageTags.EnUS, LanguageTags.ZhCN, LanguageTags.ZhTW]);
builder.WithInitialTheme(IThemeManager.DEFAULT_THEME_ID);
builder.UseAlibabaSansFont();
builder.UseDesktopControls();
builder.UseDesktopColorPicker(); // 可选
builder.UseDesktopDataGrid(); // 可选
})
.WithDeveloperTools()
.LogToTrace();
}
}
把 Application 类声明为 partial
AtomUI 生成器会把 partial 应用类挂接到启动流程,Initialize() 执行时 AtomUI 已经就绪:
using Avalonia;
using Avalonia.Markup.Xaml;
public partial class App : Application
{
public override void Initialize() => AvaloniaXamlLoader.Load(this);
}
需要启动 Splash 时见启动指南。
开始使用 AtomUI
注册 AtomUI 后,可以直接在 XAML 中使用 AtomUI 控件和 Ant Design 图标。
<atom:Window xmlns="https://github.com/avaloniaui"
xmlns:atom="https://atomui.net"
xmlns:antdicons="https://atomui.net/icons/antdesign">
<atom:Space Orientation="Horizontal">
<atom:Button ButtonType="Primary">开始使用</atom:Button>
<atom:Button Icon="{antdicons:AntDesignIconProvider StarOutlined}">在 GitHub 上点赞</atom:Button>
</atom:Space>
</atom:Window>
体验所有控件
您可以在本机启动 Gallery 项目,浏览 AtomUI 控件、典型用法、示例和生成文档。
git clone https://github.com/AtomUI/AtomUI.git
cd AtomUI
dotnet run --project controlgallery/AtomUIGallery.Desktop/AtomUIGallery.Desktop.csproj
小的示例项目
Gallery 项目覆盖面较完整。如果您希望先看更小的入门项目,可以前往:
这些示例展示了更紧凑的应用搭建方式,更适合作为新项目起点。
赞助商
SophNet 提供稳定高效的 AI 模型 API 平台,帮助开发者快速接入大模型能力。 |
火数云提供云服务器、高防与 GPU 算力服务,支持企业安全、可靠地完成业务上云。 |
致谢
许可证说明
使用 AtomUI OSS 的项目需要遵循 LGPL v3 协议。商业应用,包括公司内部项目、个人商业项目和外包项目, 在使用已发布二进制包链接的情况下可以免费使用。如果基于源码定制 AtomUI,则需要按协议开放修改代码, 或购买商业授权。商业授权请联系:北京秦派软件科技有限公司。
🤝 贡献
欢迎各界人士贡献各种资源,如果您对贡献代码感兴趣,请随意查看我们的 GitHub 问题页面,让我们见识一下您的实力。




