一款基于 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推荐或自荐(让优秀的项目和框架不被埋没🤞)。

相关推荐
GetcharZp2 小时前
告别 Nginx 手动配置!这款 Go 语言开发的云原生网关,才是容器化时代的真香神器!
后端
RuoyiOffice2 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
spring boot·后端·vue·anti-design-vue·ruoyioffice·假期·人力
Vane12 小时前
从零开发一个AI插件,经历了什么?
人工智能·后端
952363 小时前
SpringBoot统一功能处理
java·spring boot·后端
light blue bird3 小时前
主子端台二分法任务汇总组件
前端·数据库·.net·桌面端winform
rleS IONS3 小时前
SpringBoot中自定义Starter
java·spring boot·后端
DevilSeagull3 小时前
MySQL(2) 客户端工具和建库
开发语言·数据库·后端·mysql·服务
TeDi TIVE5 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
雨辰AI5 小时前
SpringBoot3 + 人大金仓 V9 微服务监控实战|Prometheus+Grafana+SkyWalking 全链路监控
数据库·后端·微服务·grafana·prometheus·skywalking
rockey6275 小时前
基于AScript的python3脚本语言发布啦!
python·c#·.net·script·python3·eval·expression·function·动态脚本