Skip to content

sandre58/MyAvalonia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

MyAvalonia

My .NET Avalonia

MIT License GitHub Stars GitHub Forks GitHub Issues Last Commit Contributors Repo Size

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.

✨ Key Features

  • 🎨 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

Packages

Build Coverage C# .NET 8.0 .NET 9.0 .NET 10.0

Package Description NuGet
MyNet.Avalonia 🎨 Core Avalonia library with extensions, helpers, theming, reactive programming, and integration with MyNet libraries. NuGet
MyNet.Avalonia.Controls πŸͺŸ Advanced controls and UI components including color pickers, data grids, navigation menus, and custom cursors for Avalonia applications. NuGet
MyNet.Avalonia.Theme 🎭 Comprehensive theming system with custom styles, control templates, and visual resources for consistent UI design. NuGet
MyNet.Avalonia.UI πŸ–ΌοΈ High-level UI components and composite controls for rapid application development with Avalonia. NuGet

πŸš€ Getting Started

Prerequisites

  • .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

Installation

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.UI

Using Package Manager Console:

Install-Package MyNet.Avalonia
Install-Package MyNet.Avalonia.Controls
Install-Package MyNet.Avalonia.Theme
Install-Package MyNet.Avalonia.UI

Using 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.*" />

Quick Examples

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/.

πŸ“ Repository Structure

  • src/ β€” Source code for all Avalonia packages:

    • MyNet.Avalonia/ β€” Core Avalonia library with extensions, theming, and reactive programming
    • MyNet.Avalonia.Controls/ β€” Advanced controls, color pickers, data grids, and UI components
    • MyNet.Avalonia.Theme/ β€” Comprehensive theming system and visual resources
    • MyNet.Avalonia.UI/ β€” High-level UI components and composite controls
  • demos/ β€” Example Avalonia applications showcasing library features

    • MyNet.Avalonia.Demo/ β€” Comprehensive cross-platform demo application
    • MyNet.Avalonia.Demo.Desktop/ β€” Desktop-specific demo implementation
    • MyNet.Avalonia.Demo.Browser/ β€” WebAssembly browser demo
    • MyNet.Avalonia.Demo.Android/ β€” Android mobile demo
    • MyNet.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

πŸ› οΈ Development

Building from Source

# 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 pack

Demo Application

Explore 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.iOS

Contributing

We welcome contributions! Please see our Contributing Guidelines and Code of Conduct for details on how to get involved.

πŸ“„ License

Copyright Β© 2016-2025 StΓ©phane ANDRE.

Distributed under the MIT License. See LICENSE for complete details.

About

This repository provides specialized Avalonia controls, theming, UI components, and utilities to enhance desktop applications across Windows, macOS, and Linux platforms.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages