9474f9e7f7273444ba1c7addeb9a2192396fb556
Penguin.AvaloniaUI
一个现代化的跨平台 UI 控件库,专为 Avalonia 应用程序设计,提供业务场景控件和响应式 MVVM 支持。
技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| .NET | 9.0 | 应用运行时环境 |
| Avalonia | 11.3.7 | 跨平台桌面 UI 框架 |
| ReactiveUI.Avalonia | 11.3.0 | 响应式 MVVM 实现 |
| Semi.Avalonia | 11.2.1.9 | 现代化设计主题 |
| xUnit | 2.6.6 | 单元测试框架 |
样式系统决策
- 日期: 2025-10-16
- 决策: 使用 Semi.Avalonia
- 理由: Semi.Avalonia 在 NuGet 上可直接获取(版本 11.2.1.9),集成简单(只需添加 xmlns 和主题引用),提供了基于 Semi Design 的现代化设计系统。评估和集成耗时不到 10 分钟,符合我们的效率要求。
项目结构
D:\32_avalonia.ui/
├── src/
│ ├── Penguin.AvaloniaUI/ # 核心控件库
│ │ ├── Controls/ # 业务场景控件
│ │ ├── Layouts/ # 布局控件
│ │ ├── Themes/ # 主题系统
│ │ └── Utils/ # 工具类
│ │
│ ├── Example/ # 示例应用
│ │ ├── Views/ # 视图/窗口
│ │ ├── ViewModels/ # 视图模型
│ │ └── Models/ # 测试数据模型
│ │
│ └── Penguin.AvaloniaUI.Tests/ # 单元测试
│ ├── Controls/
│ ├── Layouts/
│ ├── Themes/
│ └── Utils/
├── docs/ # 项目文档
├── Directory.Packages.props # 统一包版本管理
└── Penguin.AvaloniaUI.sln # 解决方案文件
快速开始
先决条件
- .NET 9.0 SDK 或更高版本
- Windows、macOS 或 Linux
构建
# 恢复包
dotnet restore
# 编译所有项目
dotnet build
# 运行测试
dotnet test
# 运行示例应用
dotnet run --project src/Example/Example.csproj
开发
项目使用 Central Package Management(统一包版本管理)。所有包版本在 Directory.Packages.props 中定义。在项目文件中添加新包时,不要指定版本号:
<ItemGroup>
<PackageReference Include="PackageName" />
</ItemGroup>
代码格式通过 .editorconfig 强制执行。运行格式检查:
dotnet format --verify-no-changes
许可证
详情请参阅 LICENSE 文件。
Description
Languages
C#
100%