Xieyi.Fonts
2.0.1
dotnet add package Xieyi.Fonts --version 2.0.1
NuGet\Install-Package Xieyi.Fonts -Version 2.0.1
<PackageReference Include="Xieyi.Fonts" Version="2.0.1" />
<PackageVersion Include="Xieyi.Fonts" Version="2.0.1" />
<PackageReference Include="Xieyi.Fonts" />
paket add Xieyi.Fonts --version 2.0.1
#r "nuget: Xieyi.Fonts, 2.0.1"
#:package Xieyi.Fonts@2.0.1
#addin nuget:?package=Xieyi.Fonts&version=2.0.1
#tool nuget:?package=Xieyi.Fonts&version=2.0.1
Xieyi
A modern, minimalist Avalonia UI theme and custom controls library.
Overview
Xieyi provides a collection of beautifully designed, highly customizable UI controls for Avalonia UI, combined with the Flux theme - a modern, minimalist design language that emphasizes clarity, simplicity, and elegance.
Features
- Modern Minimalist Design: Clean, elegant UI components following contemporary design principles
- Light/Dark Theme Support: Seamless theme switching with carefully crafted color palettes
- Custom Controls: A curated set of essential UI controls
- TagInput: Versatile tag/label input control
- Avatar: Flexible avatar display with group support
- Badge: Notification and status indicators
- Breadcrumb: Navigation breadcrumb trail
- Timeline: Event timeline visualization
- Overlay: Unified toast + notification system (top-center light or six-position rich notifications)
- Dialog: Generic blocking popup with custom content + MessageBox preset
- Localization: Built-in support for multiple languages (zh-CN, en-US)
- Design Tokens: Comprehensive design token system for consistent styling
- Cross-Platform: Runs on Windows, macOS, Linux, and more via Avalonia UI
Getting Started
Installation
dotnet add package Xieyi
dotnet add package Xieyi.Themes.Flux
Usage
Include the Flux theme in your application:
<Application x:Class="MyApp.App"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xieyi="https://xieyi.dev/avalonia">
<Application.Styles>
<xieyi:XieyiFluxTheme Locale="zh-CN" />
</Application.Styles>
</Application>
Use Xieyi controls in your views:
<Window xmlns:xieyi="https://xieyi.dev/avalonia">
<StackPanel Margin="20">
<xieyi:TagInput />
<xieyi:Avatar Content="JD" />
<xieyi:Badge Content="5">
<Button>Messages</Button>
</xieyi:Badge>
</StackPanel>
</Window>
Overlays and Dialogs (v2)
using Xieyi.Hosting;
using Xieyi.Services;
using Xieyi.Abstractions.Overlay;
using Xieyi.Abstractions.Dialog;
// 1. Configure once at startup
XieyiHost.Configure(new OverlayService(), new DialogService());
// 2. Show a Toast
XieyiHost.Overlays.Show(this, new OverlayOptions
{
Kind = OverlayKind.Toast,
Message = "Saved.",
Severity = NotificationSeverity.Success,
});
// 3. Show a Notification
XieyiHost.Overlays.Show(this, new OverlayOptions
{
Kind = OverlayKind.Notification,
Title = "Update available",
Message = "Version 2.0 is ready.",
Position = OverlayPosition.TopRight,
});
// 4. Show a MessageBox
var result = await XieyiHost.Dialogs.ShowMessageBoxAsync(this, new MessageBoxOptions
{
Title = "Confirm",
Message = "Continue?",
Buttons = MessageBoxButtons.YesNo,
Icon = NotificationSeverity.Warning,
});
See docs/MIGRATION-v2.md if you're upgrading from v1.x.
Project Structure
Xieyi/
├── src/
│ ├── Xieyi/ # Custom controls library
│ ├── Xieyi.Themes.Flux/ # Flux theme implementation
│ └── Xieyi.Charting/ # Charting engine
├── demo/ # Demo applications
├── tests/ # Unit tests
├── scripts/ # Build scripts (build.sh, pack.sh)
├── .github/workflows/ # CI/CD (release.yml)
├── CHANGELOG.md # Version changelog
└── NuGet.Config # NuGet source configuration
Building from Source
Prerequisites
- .NET 8.0 SDK or later
Build
# Linux/macOS
./scripts/build.sh
# Windows
.\scripts\build.ps1
Local Test Pack (for development testing)
# Pack as release version (e.g., 1.0.2)
./scripts/pack.sh 1.0.2
# Pack with pre-release suffix (e.g., 1.0.2-beta1)
./scripts/pack.sh 1.0.2 beta1
Packages will be produced in the nupkgs/ directory.
Automated Publishing
Pushing a v* tag triggers GitHub Actions to automatically:
- Build all projects in Release
- Pack NuGet packages
- Push to NuGet.org
- Create a GitHub Release with notes from
CHANGELOG.md
# Tag and push to trigger CI/CD
git tag v1.0.2
git push origin v1.0.2
Run Demo
cd demo/Xieyi.Demo.Desktop
dotnet run
Documentation
Version Compatibility
| Xieyi Version | Avalonia Version |
|---|---|
| 1.x | >= 12.0.0 |
License
This project is licensed under the Apache License 2.0.
Acknowledgments
- Avalonia UI - The cross-platform UI framework
- Semi.Avalonia - Inspiration for project structure
- Ursa.Avalonia - Inspiration for custom controls architecture
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Xieyi.Fonts:
| Package | Downloads |
|---|---|
|
Xieyi
A modern, minimalist Avalonia UI custom controls library. |
|
|
Xieyi.Charting
High-performance charting engine for Xieyi — Signal rendering, DataStreamer, MinMaxCache, full rendering pipeline. |
|
|
Xieyi.Markdown
High-performance CommonMark + GFM Markdown renderer for Xieyi — Lexer → Parser → Semantic → CodeGen pipeline with full Avalonia control tree output. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.1 | 232 | 7/26/2026 |
| 2.0.0 | 200 | 7/25/2026 |
| 2.0.0-beta1 | 215 | 7/25/2026 |