AuroraControls.Maui 3.7.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package AuroraControls.Maui --version 3.7.2
                    
NuGet\Install-Package AuroraControls.Maui -Version 3.7.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AuroraControls.Maui" Version="3.7.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AuroraControls.Maui" Version="3.7.2" />
                    
Directory.Packages.props
<PackageReference Include="AuroraControls.Maui" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AuroraControls.Maui --version 3.7.2
                    
#r "nuget: AuroraControls.Maui, 3.7.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AuroraControls.Maui@3.7.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AuroraControls.Maui&version=3.7.2
                    
Install as a Cake Addin
#tool nuget:?package=AuroraControls.Maui&version=3.7.2
                    
Install as a Cake Tool

Aurora Controls for .NET MAUI

<p align="center" style="border-radius: 10px;"> <img src="images/logo.png" alt="TychoDB Logo" width="200"> </p>

A collection of beautiful, customizable UI controls for .NET MAUI applications. Aurora Controls provides a rich set of controls designed with modern UI/UX principles in mind.

License NuGet

Features

  • 🎨 Modern, customizable UI controls
  • 📱 Cross-platform compatibility (iOS, Android)
  • ⚡ High-performance rendering with SkiaSharp
  • 🎯 Touch and gesture support
  • 🔄 Two-way binding support
  • 🎭 Rich animation capabilities
  • 📦 Easy integration with existing MAUI projects

Installation

Install via NuGet:

dotnet add package AuroraControls.Maui

Setup

  1. In your MauiProgram.cs, add Aurora Controls:
public static MauiApp CreateMauiApp()
{
    var builder = MauiApp.CreateBuilder();
    builder
        .UseMauiApp<App>()
        .UseAuroraControls<App>();

    return builder.Build();
}
  1. Add the namespace to your XAML:
xmlns:aurora="http://auroracontrols.maui/controls"

Controls

Interactive Components

Tile

An advanced button-like control with support for SVG images, text, ripple effects, shadows, and notification badges.

<aurora:Tile
    Text="Settings"
    EmbeddedImageName="Assets/settings.svg"
    MaxImageSize="24,24"
    ButtonBackgroundColor="#4A90E2"
    FontColor="White"
    FontSize="16"
    BorderColor="White"
    BorderWidth="1"
    CornerRadius="8"
    ShadowColor="#80000000"
    ShadowBlurRadius="4"
    ShadowLocation="0,3"
    Ripples="true"
    ContentPadding="12"
    Command="{Binding SettingsCommand}">
    <aurora:Tile.NotificationBadge>
        <aurora:NotificationBadge NotificationCount="5" />
    </aurora:Tile.NotificationBadge>
</aurora:Tile>

Features:

  • SVG image support with size constraints and optional color overlay
  • Rich text customization (color, size, font, iconified text support)
  • Material Design ripple effects on touch
  • Customizable shadows with blur and offset
  • Border and corner radius styling
  • Optional notification badge integration
  • Smooth tap animations
  • Command binding and click event support
  • Content padding configuration

GradientPillButton

<p align="center" style="border-radius: 10px;"> <img src="images/GradientPillButton.png" width="200"> <img src="images/GradientPillButton.ShadowBlurRadius.2.png" width="200"> <img src="images/GradientPillButton.BorderWidth.5.png" width="200"> </p>

A pill-shaped button with gradient background, shadow, and ripple effects.

<aurora:GradientPillButton
    Text="Click Me"
    ButtonBackgroundStartColor="#FF6B6B"
    ButtonBackgroundEndColor="#4ECDC4"
    FontColor="White"
    Command="{Binding MyCommand}"
    ShadowColor="#80000000"
    ShadowBlurRadius="4"
    ShadowLocation="0,3" />

SegmentedControl

<p align="center" style="border-radius: 10px;"> <img src="images/SegmentedControl.png" width="200"> </p>

A segmented control similar to iOS UISegmentedControl.

<aurora:SegmentedControl
    SelectedIndex="{Binding SelectedViewIndex}"
    ControlForegroundColor="{StaticResource Primary}"
    ControlBackgroundColor="White"
    BorderSize="1">
    <aurora:Segment Text="Day" />
    <aurora:Segment Text="Week" />
    <aurora:Segment Text="Month" />
</aurora:SegmentedControl>

ToggleBox

<p align="center" style="border-radius: 10px;"> <img src="images/CheckBoxGroup.Example1.png" width="200"> </p>

A versatile toggle/checkbox control with multiple styles and customization options.

<aurora:ToggleBox
    IsToggled="{Binding IsSelected}"
    Shape="RoundedSquare"
    CheckType="Check"
    CheckColor="White"
    BorderColor="Blue"
    BorderWidth="2"
    MarkWidth="2"
    CornerRadius="4"
    BackgroundColor="Transparent"
    ToggledBackgroundColor="Blue"
    Value="{Binding Item}" />

Features:

  • Multiple shapes: Square, Circular, RoundedSquare
  • Different check mark styles: Cross, Check, RoundedCheck, Circular
  • Customizable colors for border, background, and check mark
  • Configurable border width, mark width, and corner radius
  • Two-way binding support for toggle state
  • Optional value binding
  • Toggle state change events

CupertinoToggleSwitch

<p align="center" style="border-radius: 10px;"> <img src="images/CupertinoToggleSwitch.png" width="200"> <img src="images/CupertinoToggleSwitch.Example1.png" width="200"> <img src="images/CupertinoToggleSwitch.Example2.png" width="200"> </p>

An iOS-style toggle switch with smooth animations.

<aurora:CupertinoToggleSwitch
    IsToggled="{Binding IsEnabled}"
    TrackEnabledColor="#4CD964"
    TrackDisabledColor="#E9E9EA"
    ThumbColor="White" />

CupertinoTextToggleSwitch

An iOS-style toggle switch with text labels.

<aurora:CupertinoTextToggleSwitch
    IsToggled="{Binding IsDarkMode}"
    EnabledText="ON"
    DisabledText="OFF"
    TrackEnabledColor="#4CD964"
    EnabledFontColor="White"
    DisabledFontColor="#272727" />

NumericEntry

<p align="center" style="border-radius: 10px;"> <img src="images/NumericEntry.png" width="200"> </p>

A customizable numeric entry control.

<aurora:NumericEntry
    Value="{Binding NumericValue}"
    Placeholder="Enter number"
    TextColor="Black"
    PlaceholderColor="Gray" />

SignaturePad

<p align="center" style="border-radius: 10px;"> <img src="images/Signature.png" width="200"> </p>

A control for capturing handwritten signatures.

<aurora:SignaturePad
    StrokeColor="Black"
    StrokeWidth="3"
    BackgroundColor="White" />

Visual Elements

SVGImageView

<p align="center" style="border-radius: 10px;"> <img src="images/ImageView.png" width="200"> </p>

A control for displaying SVG images.

<aurora:SVGImageView
    Source="image.svg"
    WidthRequest="200"
    HeightRequest="200" />

NotificationBadge

<p align="center" style="border-radius: 10px;"> <img src="images/NotificationBadge.png" width="200"> </p>

A badge control for displaying notifications.

<aurora:NotificationBadge
    BadgeText="99+"
    BadgeBackgroundColor="Red"
    BadgeTextColor="White" />

Layout Controls

CardViewLayout

<p align="center" style="border-radius: 10px;"> <img src="images/CardLayoutView.Example1.png" width="200"> </p>

A material design inspired card container with elevation, rounded corners, and border customization.

<aurora:CardViewLayout
    CornerRadius="12"
    Elevation="4"
    BorderSize="1"
    BorderColor="Gray"
    BackgroundColor="White">
    <StackLayout Padding="16">
        <Label Text="Card Title" FontSize="20" />
        <Label Text="Card content goes here" />
    </StackLayout>
</aurora:CardViewLayout>

GradientColorView

<p align="center" style="border-radius: 10px;"> <img src="images/GradientColorView.png" width="200"> </p>

A view that displays a customizable gradient background with support for touch interactions and animations.

<aurora:GradientColorView
    GradientStartColor="Blue"
    GradientStopColor="Purple"
    GradientRotationAngle="45"
    Ripples="True">
    <Label Text="Gradient Background" TextColor="White" />
</aurora:GradientColorView>

Progress Indicators

Linear Gauge

<p align="center" style="border-radius: 10px;"> <img src="images/LinearGauge.png" width="200"> </p>

A horizontal or vertical progress gauge.

<aurora:LinearGauge
    Progress="{Binding Progress}"
    ProgressColor="Blue"
    ProgressBackgroundColor="Gray"
    ProgressThickness="10"
    EndCapType="Rounded" />

Circular Gauge

<p align="center" style="border-radius: 10px;"> <img src="images/CircularGauge.png" width="200"> </p>

A circular progress indicator.

<aurora:CircularGauge
    Progress="{Binding Progress}"
    ProgressColor="Blue"
    ProgressBackgroundColor="Gray"
    ProgressThickness="10"
    EndCapType="Rounded" />

CircularFillGauge

<p align="center" style="border-radius: 10px;"> <img src="images/CircularFillGauge.png" width="200"> </p>

A circular gauge that fills with color based on progress.

<aurora:CircularFillGauge
    Progress="{Binding Progress}"
    ProgressColor="Blue"
    ProgressBackgroundColor="Gray" />

TouchDrawLettersImage

<p align="center" style="border-radius: 10px;"> <img src="images/TouchDrawLettersImage.png" width="200"> </p>

A specialized view for drawing letter shapes, useful for handwriting recognition or educational apps.

<aurora:TouchDrawLettersImage
    StrokeColor="Black"
    StrokeWidth="3"
    BackgroundColor="White"
    LetterSpacing="20" />

Loading Indicators

CupertinoActivityIndicator

Sample Video

iOS-style spinning activity indicator.

MaterialCircular

Sample Video

Material Design circular progress indicator with smooth animations.

Nofriendo

Sample Video

A custom loading animation inspired by retro gaming.

RainbowRing

Sample Video

A colorful rainbow ring loading animation.

Waves

Sample Video

An animated wave-style loading indicator.

Visual Effects System

Aurora Controls includes a powerful visual effects system that can be applied to any Aurora view control. The effects are powered by SkiaSharp for high-performance image processing.

Available Effects

  • Color Effects

    • BlackAndWhite - Converts image to black and white
    • Brightness - Adjusts image brightness
    • Contrast - Modifies image contrast
    • Grayscale - Converts image to grayscale
    • HighContrast - Applies high contrast effect
    • Hue - Adjusts image hue
    • Invert - Inverts image colors
    • Saturation - Adjusts color saturation
    • Sepia - Applies sepia tone effect
  • Transform Effects

    • Scale - Scales the image
    • Rotate - Rotates the image
    • Skew - Applies skew transformation
    • ThreeDee - Applies 3D rotation effect
    • Translate - Moves the image
  • Special Effects

    • Gradient - Applies gradient overlay
    • Pixelate - Creates pixelation effect
    • Watermark - Adds watermark to image
    • HistogramEqualization - Enhances image contrast using histogram equalization

Using Visual Effects

Effects can be applied to any Aurora view that implements IAuroraView. You can add multiple effects and enable/disable them dynamically.

<aurora:AuroraView>
    <aurora:AuroraView.VisualEffects>
        <aurora:Sepia />
        <aurora:Brightness BrightnessAmount="0.2" />
        <aurora:Contrast ContrastAmount="1.2" />
    </aurora:AuroraView.VisualEffects>
</aurora:AuroraView>

Adding Effects in Code

var auroraView = new AuroraView();
auroraView.VisualEffects.Add(new Sepia());
auroraView.VisualEffects.Add(new Brightness { BrightnessAmount = 0.2 });

Managing Effects

Effects can be enabled/disabled individually:

var effect = auroraView.VisualEffects[0];
effect.Enabled = false; // Temporarily disable the effect

Effects are applied in order, so the sequence matters. You can reorder effects:

auroraView.VisualEffects.Remove(effect);
auroraView.VisualEffects.Insert(0, effect); // Move to first position

Creating Custom Effects

You can create custom visual effects by inheriting from VisualEffect:

public class CustomEffect : VisualEffect
{
    public override SKImage ApplyEffect(SKImage image, SKSurface surface, SKImageInfo info, SKRect overrideRect)
    {
        // Implement your effect here using SkiaSharp
        using (var paint = new SKPaint())
        using (var surfaceImage = surface.Snapshot())
        {
            surface.Canvas.Clear();
            // Apply your custom effect
            surface.Canvas.DrawImage(surfaceImage, rect, paint);
        }
        return surface.Snapshot();
    }

    public override SKImage ApplyEffect(SKImage image, SKSurface surface, GRBackendRenderTarget info, SKRect overrideRect)
    {
        // Implement GPU-accelerated version if needed
        return ApplyEffect(image, surface, new SKImageInfo(), overrideRect);
    }
}

Performance Considerations

  • Effects are applied sequentially, so use only the effects you need
  • Some effects (like ThreeDee and Pixelate) are more computationally intensive
  • Consider using GPU acceleration when available by implementing the GRBackendRenderTarget version of ApplyEffect
  • Effects are processed on a background thread to maintain UI responsiveness

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

Support

If you encounter any issues or have questions, please file an issue on the GitHub repository.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-android34.0 is compatible.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-ios18.0 is compatible.  net8.0-maccatalyst was computed.  net8.0-maccatalyst18.0 is compatible.  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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.17.6 107 7/23/2025
3.17.5 108 7/21/2025
3.17.4 111 7/21/2025
3.17.3 39 7/18/2025
3.17.2 41 7/18/2025
3.17.1 177 7/14/2025
3.16.3 79 7/11/2025
3.16.2 155 7/2/2025
3.16.1 126 6/30/2025
3.15.1 146 6/26/2025
3.14.1 137 6/26/2025
3.13.2 140 6/25/2025
3.13.1 152 6/23/2025
3.12.1 145 6/18/2025
3.11.2 141 6/18/2025
3.11.2-beta 136 6/18/2025
3.11.1-beta 133 6/16/2025
3.10.5 287 6/12/2025
3.10.4 283 6/12/2025
3.10.3 146 6/4/2025
3.10.2 148 6/2/2025
3.10.1 146 6/2/2025
3.9.2 146 5/28/2025
3.9.1 237 5/15/2025
3.8.1 240 5/14/2025
3.7.3 222 4/30/2025
3.7.2 154 4/30/2025
3.7.1 173 4/29/2025
3.6.2 130 4/25/2025
3.6.1 561 4/1/2025
3.5.2 248 3/19/2025
3.5.1 186 3/17/2025
3.5.1-beta 160 3/17/2025
3.4.2-beta 83 3/15/2025
3.4.1-beta 165 3/12/2025
3.3.1-beta 304 3/6/2025
3.2.1-beta 219 3/5/2025
3.1.2-beta 155 2/28/2025
3.1.1-beta 91 2/28/2025
2.11.1 161 3/17/2025
2.10.2-beta 122 2/20/2025
2.10.1-beta 106 2/20/2025
2.9.1-beta 99 2/19/2025
2.8.5-beta 203 2/12/2025
2.8.3-beta 225 1/22/2025
2.8.2-beta 146 1/8/2025
2.8.1-beta 90 1/8/2025
2.7.1-beta 147 12/4/2024
2.6.8-beta 115 10/11/2024
2.6.6 163 10/11/2024
2.6.6-beta 100 10/11/2024
2.6.5 1,631 10/23/2023
2.6.4 183 10/19/2023
2.6.3 182 10/19/2023
2.6.2 172 10/19/2023