Documentation Language: English | 简体中文
AtomUI is an Ant Design 6 component system for Avalonia/.NET desktop applications. It brings Ant Design's enterprise interaction patterns, visual language, design tokens and theme customization model to native cross-platform apps on Windows, macOS and Linux.
The project includes production-oriented desktop controls, icon packages, font packages, native window integration, DataGrid, ColorPicker and source generators for custom controls, tokens and localization. Feedback, issues and pull requests are welcome.
- Ant Design 6 experience adapted for native Avalonia desktop applications.
- A broad set of ready-to-use controls for enterprise software, including layout, navigation, data entry, feedback, data display and optional advanced packages.
- Token-driven theming built on Avalonia's style and resource system, with support for consistent customization across controls.
- Cross-platform desktop support for Windows, macOS and Linux with a shared .NET/XAML development model.
- Source generators for custom controls, theme tokens and localization to reduce repetitive infrastructure code.
.NET 8 or later (the .NET 10 SDK is required to build AtomUI MSBuild integration)
Avalonia 12.1.2
Windows, macOS and Linux
AtomUI 6.1.9 fixes DataGrid single-row switching, recycled-cell sort-state leakage and dynamic right frozen
column updates, and unifies content expand/collapse motion across Collapse, Expander and NavMenu to remove
accordion flicker and jitter. It also adds the BorderBeam Count property and the image-loading
SvgConformanceMode option, improves Avatar text centering, and stabilizes the Windows title-bar buttons and
ImagePreviewer. AtomUI build tools now ship as net10.0 assemblies and require the .NET 10 SDK to build
consuming projects; review the Changelog before upgrading.
Thanks to Tongming Lake Center for their incubation support of AtomUI OSS
AtomUI is distributed through NuGet. Install the main desktop controls package first, then add optional packages such as DataGrid, ColorPicker and Extras only when your application needs them. The examples below use the latest project version.
The packages we have released are as follows:
| Package | Description |
|---|---|
| AtomUI.Native | Native platform infrastructure |
| AtomUI.Core | Core infrastructure — theme system, token system and animations |
| AtomUI.Fonts.AlibabaSans | Alibaba Sans font package |
| AtomUI.Fonts.AlibabaPuHuiTi | Alibaba PuHuiTi font package |
| AtomUI.Icons.Shared | Icon infrastructure |
| AtomUI.Icons.AntDesign | Ant Design icon package |
| AtomUI.Controls.Shared | Shared interfaces and enums for control development |
| AtomUI.Controls | Base controls and shared control capabilities |
| AtomUI.Desktop.Controls | Desktop control library — the main package |
| AtomUI.Desktop.Controls.DataGrid | DataGrid control (opt-in) |
| AtomUI.Desktop.Controls.ColorPicker | ColorPicker control (opt-in) |
| AtomUI.Desktop.Controls.Extras | Supplemental desktop controls (opt-in) |
| AtomUI.Generator | Source generators for custom controls, tokens and localization |
dotnet add package AtomUI.Desktop.Controls --version 6.1.9
dotnet add package AtomUI.Desktop.Controls.DataGrid --version 6.1.9
dotnet add package AtomUI.Desktop.Controls.ColorPicker --version 6.1.9
dotnet add package AtomUI.Desktop.Controls.Extras --version 6.1.9You can also install the packages from your IDE's NuGet package manager. In Rider, open:
NuGet -> Packages
Search for "AtomUI" and install the packages your project needs.
Before installation, check "Frameworks" and "Dependencies" in the package details to confirm compatibility with your target framework and Avalonia version.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AtomUI.Desktop.Controls" Version="6.1.9"/>
<PackageReference Include="AtomUI.Desktop.Controls.DataGrid" Version="6.1.9"/>
<PackageReference Include="AtomUI.Desktop.Controls.ColorPicker" Version="6.1.9"/>
<PackageReference Include="AtomUI.Desktop.Controls.Extras" Version="6.1.9"/>
<PackageReference Include="AvaloniaUI.DiagnosticsSupport" Version="2.2.1"/>
</ItemGroup>
</Project>using Avalonia;
using System;
using AtomUI;
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()
.WithDeveloperTools()
.LogToTrace();
}
}using AtomUI;
using AtomUI.Desktop.Controls;
using AtomUI.Localization;
using AtomUI.Theme;
using Avalonia;
using Avalonia.Markup.Xaml;
public partial class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
this.UseAtomUI(builder =>
{
builder.UseLanguages(
LanguageTags.EnUS,
[LanguageTags.EnUS, LanguageTags.ZhCN, LanguageTags.ZhTW]);
builder.WithDefaultTheme(IThemeManager.DEFAULT_THEME_ID);
builder.UseAlibabaSansFont();
builder.UseDesktopControls();
builder.UseDesktopColorPicker(); // optional
builder.UseDesktopDataGrid(); // optional
builder.UseDesktopExtras(); // optional
});
}
}To make the first rendered frame use the dark theme, configure the initial theme algorithm in the builder:
this.UseAtomUI(builder =>
{
builder.WithDefaultTheme(IThemeManager.DEFAULT_THEME_ID, ThemeAlgorithm.Dark);
builder.UseDesktopControls();
});SetDarkThemeMode(true) is intended for runtime theme switching after AtomUI has been initialized.
After AtomUI is registered, you can use AtomUI controls and Ant Design icons directly in XAML.
<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">Get Started</atom:Button>
<atom:Button Icon="{antdicons:AntDesignIconProvider StarOutlined}">Star on GitHub</atom:Button>
</atom:Space>
</atom:Window>You can launch the gallery project locally to browse the available controls, usage patterns, examples and generated documentation.
git clone https://github.com/AtomUI/AtomUI.git
cd AtomUI
dotnet run --project controlgallery/AtomUIGallery.Desktop/AtomUIGallery.Desktop.csprojThe gallery is intentionally comprehensive. If you prefer compact starter projects, visit:
These samples show smaller application setups that are easier to copy into a new project.
SophNet provides an AI model API platform for stable, efficient model integration. |
HSY provides cloud servers, DDoS protection and GPU compute services for secure business cloud deployment. |
Projects using AtomUI OSS must comply with LGPL v3. Commercial applications, including internal company software, personal commercial products and outsourced projects, may use AtomUI for free when linking to the published binaries. If you customize AtomUI from source code, you must either open source the modified code under the license terms or purchase a commercial license. For commercial licensing, contact Beijing Qinware Technology Co., Ltd.
Contributions of all types are more than welcome, if you are interested in contributing code, feel free to check out our GitHub Issues to get stuck in to show us what you’re made of.







