一款基于 Ant Design 设计语言实现、漂亮的 .NET Avalonia UI 控件库

前言

今天大姚给大家分享一款基于 Ant Design 设计语言实现、漂亮的 .NET Avalonia UI 控件库:AtomUI。

AtomUI项目介绍

AtomUI 是一款基于 Ant Design 设计语言实现、漂亮的 .NET Avalonia UI 控件库,致力于将 Ant Design 优秀而高效的设计语言和体验带入 Avalonia/.NET 跨平台桌面软件开发领域。

Avalonia介绍

Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一的外观和感觉。

运行环境

  • .NET 8 及其以上
  • Avalonia 11.1.1 及其以上

项目源代码

包名称 描述
AtomUI 主库,包含了主题系统和 AtomUI OSS 版本所有的控件
AtomUI.Controls.DataGrid 数据表格控件定义,如果不用可以不引入
AtomUI.Generator 自定义控件需要的一些源码生成器定义,您如果在自定义控件的时候需要接入 AtomUI 主题系统,需要引入此包
AtomUI.IconPkg.Generator 如果您需要自定义 Icon 包,需要引入此包

快速使用 AtomUI 库

类库安装

lua 复制代码
dotnet add package AtomUI --version 1.0.0-alpha

配置项目文件

xml 复制代码
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>WinExe</OutputType>
        <TargetFramework>net9.0</TargetFramework>
        <Nullable>enable</Nullable>
        <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
        <ApplicationManifest>app.manifest</ApplicationManifest>
        <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="AtomUI" Version="0.0.6-build.4"/>
        <PackageReference Include="Avalonia.Desktop" Version="11.3.2"/>
        <PackageReference Include="Avalonia.Diagnostics" Version="11.3.2">
            <IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
            <PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
        </PackageReference>
    </ItemGroup>
</Project>

配置程序入口文件

csharp 复制代码
using Avalonia;
using System;
namespace AtomUIProgressApp;
class Program
{
    [STAThread]
    public static void Main(string[] args) => BuildAvaloniaApp()
        .StartWithClassicDesktopLifetime(args);
    public static AppBuilder BuildAvaloniaApp()
    {
        var builder = AppBuilder.Configure<App>()
            .UsePlatformDetect()
            .WithInterFont()
            .With(new Win32PlatformOptions())
            .LogToTrace();
        var themeBuilder = builder.CreateThemeManagerBuilder();
        themeBuilder.UseCultureInfo(new CultureInfo(LanguageCode.en_US));
        themeBuilder.UseTheme(ThemeManager.DEFAULT_THEME_ID);
        themeBuilder.UseOSSControls();
        return builder.UseAtomUI(themeBuilder);
    }
}

控件库效果体验

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

相关推荐
盖世英雄酱5813620 分钟前
java深度调试【第二章通过堆栈分析性能瓶颈】
java·后端
sivdead43 分钟前
当前智能体的几种形式
人工智能·后端·agent
lang201509281 小时前
Spring Boot RSocket:高性能异步通信实战
java·spring boot·后端
Moonbit1 小时前
倒计时 2 天|Meetup 议题已公开,Copilot 月卡等你来拿!
前端·后端
天天摸鱼的java工程师2 小时前
解释 Spring 框架中 bean 的生命周期:一个八年 Java 开发的实战视角
java·后端
往事随风去2 小时前
那个让老板闭嘴、让性能翻倍的“黑科技”:基准测试最全指南
后端·测试
李广坤2 小时前
JAVA线程池详解
后端
调试人生的显微镜2 小时前
深入剖析 iOS 26 系统流畅度,多工具协同监控与性能优化实践
后端
蹦跑的蜗牛2 小时前
Spring Boot使用Redis实现消息队列
spring boot·redis·后端
非凡ghost2 小时前
HWiNFO(专业系统信息检测工具)
前端·javascript·后端