A comprehensive collection of Avalonia UI libraries and extensions for modern cross-platform .NET development (8.0, 9.0, and 10.0). This repository provides specialized Avalonia controls, theming, UI components, and utilities to enhance desktop applications across Windows, macOS, and Linux platforms.
- π¨ Modern Theming & Styling - Complete theming system with customizable design components
- πͺ Rich Avalonia Controls - Custom controls, color pickers, data grids, and UI helpers
- π Advanced Color Management - Color palettes, pickers, and theming utilities
- οΏ½ Cross-Platform Ready - Works seamlessly on Windows, macOS, and Linux
- ποΈ MVVM Architecture - Reactive programming and MVVM pattern support with observables
- π Reactive Extensions - Built-in System.Reactive integration for modern UI patterns
- π Production Ready - Battle-tested libraries with robust component architecture
| Package | Description | NuGet |
|---|---|---|
| MyNet.Avalonia | π¨ Core Avalonia library with extensions, helpers, theming, reactive programming, and integration with MyNet libraries. | |
| MyNet.Avalonia.Controls | πͺ Advanced controls and UI components including color pickers, data grids, navigation menus, and custom cursors for Avalonia applications. | |
| MyNet.Avalonia.Theme | π Comprehensive theming system with custom styles, control templates, and visual resources for consistent UI design. | |
| MyNet.Avalonia.UI | πΌοΈ High-level UI components and composite controls for rapid application development with Avalonia. |
- .NET 8.0, 9.0, or 10.0 - The libraries support the latest .NET versions
- JetBrains Rider, Visual Studio 2022, or VS Code (recommended for Avalonia development)
- Windows, macOS, or Linux - Avalonia supports all major desktop platforms
- NuGet package manager
Install any Avalonia package via NuGet Package Manager, .NET CLI, or PackageReference:
Using .NET CLI:
# Core Avalonia library with extensions and theming
dotnet add package MyNet.Avalonia
# Advanced controls and UI components
dotnet add package MyNet.Avalonia.Controls
# Comprehensive theming system
dotnet add package MyNet.Avalonia.Theme
# High-level UI components
dotnet add package MyNet.Avalonia.UIUsing Package Manager Console:
Install-Package MyNet.Avalonia
Install-Package MyNet.Avalonia.Controls
Install-Package MyNet.Avalonia.Theme
Install-Package MyNet.Avalonia.UIUsing PackageReference:
<PackageReference Include="MyNet.Avalonia" Version="1.0.*" />
<PackageReference Include="MyNet.Avalonia.Controls" Version="1.0.*" />
<PackageReference Include="MyNet.Avalonia.Theme" Version="1.0.*" />
<PackageReference Include="MyNet.Avalonia.UI" Version="1.0.*" />Basic Avalonia Theming:
<!-- App.axaml -->
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="avares://MyNet.Avalonia.Theme/MyTheme.axaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>Using Custom Controls:
// Color picker integration
var colorPicker = new ColorPicker()
{
SelectedColor = Colors.Blue
};
// Avatar control
var avatar = new Avatar()
{
Source = new Bitmap("user-avatar.png"),
Size = 64
};Reactive Extensions:
// Observable property binding
this.WhenAnyValue(x => x.SearchText)
.Throttle(TimeSpan.FromMilliseconds(300))
.Subscribe(text => FilterResults(text));For detailed usage examples and API references, explore the documentation in each package's directory under src/.
-
src/β Source code for all Avalonia packages:MyNet.Avalonia/β Core Avalonia library with extensions, theming, and reactive programmingMyNet.Avalonia.Controls/β Advanced controls, color pickers, data grids, and UI componentsMyNet.Avalonia.Theme/β Comprehensive theming system and visual resourcesMyNet.Avalonia.UI/β High-level UI components and composite controls
-
demos/β Example Avalonia applications showcasing library featuresMyNet.Avalonia.Demo/β Comprehensive cross-platform demo applicationMyNet.Avalonia.Demo.Desktop/β Desktop-specific demo implementationMyNet.Avalonia.Demo.Browser/β WebAssembly browser demoMyNet.Avalonia.Demo.Android/β Android mobile demoMyNet.Avalonia.Demo.iOS/β iOS mobile demo
-
assets/β Project logos, icons, and visual assets -
build/β MSBuild configuration and shared properties -
.github/β CI/CD workflows and GitHub automation
# Clone the repository
git clone https://github.com/sandre58/MyAvalonia.git
cd MyAvalonia
# Build all projects
dotnet build
# Run tests (if available)
dotnet test
# Create NuGet packages
dotnet packExplore the comprehensive demo application to see all Avalonia libraries in action across different platforms:
# Run the desktop demo
dotnet run --project demos/MyNet.Avalonia.Demo.Desktop
# Run the browser demo (WebAssembly)
dotnet run --project demos/MyNet.Avalonia.Demo.Browser
# Build and run mobile demos (requires platform-specific setup)
dotnet build demos/MyNet.Avalonia.Demo.Android
dotnet build demos/MyNet.Avalonia.Demo.iOSWe welcome contributions! Please see our Contributing Guidelines and Code of Conduct for details on how to get involved.
Copyright Β© 2016-2025 StΓ©phane ANDRE.
Distributed under the MIT License. See LICENSE for complete details.
