Documentation Language: English | 简体ä¸ć–‡
AtomUI is an implementation of Ant Design based on .NET technology, dedicated to bringing the excellent and efficient design language and experience of Ant Design to the Avalonia/.NET cross-platform desktop software development field.
Welcome to communicate and give suggestions to AtomUI, thank you for giving the project a Star.
- Enterprise-class UI designed from Ant Design system for cross platform desktop applications.
- A set of high-quality Avalonia Controls out of the box.
- Use .NET development to achieve one-stop writing, seamless compilation on mainstream operating system platforms and render a consistent UI experience.
- Based on Avalonia's powerful style system, Ant Design's theme customization capabilities are fully implemented.
.NET 8 or later (development supports .NET 10)
Avalonia 12.0.x
Windows, macOS and Linux
Thanks to Tongming Lake Center for their incubation support of AtomUI OSS
AtomUI is recommended to be installed as a nuget package. We have uploaded AtomUI OSS-related packages to nuget.org. Currently, AtomUI has not released a long-term support version, so it is recommended to install the latest version we have released
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.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.Generator | Source generators for custom controls, tokens and localization |
dotnet add package AtomUI.Desktop.Controls --version 6.0.0-build.1
dotnet add package AtomUI.Desktop.Controls.DataGrid --version 6.0.0-build.1
dotnet add package AtomUI.Desktop.Controls.ColorPicker --version 6.0.0-build.1You can install nuget packages one by one directly. If the above command line fails to complete the installation, please go to the NuGet package manager. In Rider, you can click on the following steps:
nuget -> packages
Searching for "AtomUI" will find available AtomUI packages. Then, install them one by one.
Before installation, please click on "Framework and Dependencies" on the right to ensure that the corresponding dependency packages are compatible.
<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.0.0-build.1"/>
<PackageReference Include="AtomUI.Desktop.Controls.DataGrid" Version="6.0.0-build.1"/>
<PackageReference Include="AtomUI.Desktop.Controls.ColorPicker" Version="6.0.0-build.1"/>
<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()
.UsePlatformDetect()
.WithAtomUIDefaultOptions()
.WithDeveloperTools()
.LogToTrace();
}
}using System.Globalization;
using AtomUI;
using AtomUI.Desktop.Controls;
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.WithDefaultCultureInfo(CultureInfo.CurrentUICulture);
builder.WithDefaultTheme(IThemeManager.DEFAULT_THEME_ID);
builder.UseAlibabaSansFont();
builder.UseDesktopControls();
builder.UseDesktopColorPicker(); // optional
builder.UseDesktopDataGrid(); // optional
});
}
}You can start using it in your own projects
<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 ./controlgallery/AtomUIGallery.Desktop/AtomUIGallery.Desktop.csproj project in your local development environment to experience all AtomUI controls.
git clone https://github.com/AtomUI/AtomUI.git
cd AtomUI
dotnet run --project controlgallery/AtomUIGallery.Desktop/AtomUIGallery.Desktop.csprojAtomUI's gallery project can be quite large and complex, and if you're new to AtomUI, you might feel overwhelmed. You can visit
to check out our simple and compact sample projects to help you get started with AtomUI.
Projects using AtomUI OSS need to comply with the LGPL v3 agreement. Commercial applications (including but not limited to internal company projects, commercial projects developed by individuals using AtomUI OSS, and outsourced projects) are free when using binary links. If you want to customize AtomUI based on source code, you need to modify the open source code or purchase a commercial license. If you need a commercial license, please 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.









