MauiIcons
MauiIcons is Icon Collection Library for .Net Maui
Install / Use
/learn @AathifMahir/MauiIconsREADME
.Net Maui Icons
The .NET Maui Icons is a comprehensive library collection that facilitates icon and font icon management within the .NET Maui framework. This library includes controls that seamlessly integrate three iconic design systems: Fluent, Material, Cupertino and FontAwesome. These controls offer complete access to the mentioned Icon collections, delivering a rich and versatile iconography solution for .NET Maui applications.
Package | Latest stable | Latest Preview | Description
---------|---------------|---------------|------------
AathifMahir.Maui.MauiIcons.SegoeFluent | |
| Maui Icons - Segoe Fluent Package Contains Complete Collection of Built in Windows Segoe Fluent Icons.
AathifMahir.Maui.MauiIcons.Fluent | |
| Maui Icons - Fluent Package Contains Complete Collection of Open Source Version Fluent Icons from Microsoft.
AathifMahir.Maui.MauiIcons.Fluent.Filled | |
| Maui Icons - Fluent Filled Package Contains Complete Collection of Open Source Version Fluent Icons from Microsoft.
AathifMahir.Maui.MauiIcons.Material | |
| Maui Icons - Material Package Contains Complete Collection of Material Regular Icons.
AathifMahir.Maui.MauiIcons.Material.Outlined | |
| Maui Icons - Material Outlined Package Contains Complete Collection of Material Outlined Icons.
AathifMahir.Maui.MauiIcons.Material.Rounded | |
| Maui Icons - Material Rounded Package Contains Complete Collection of Material Rounded Icons.
AathifMahir.Maui.MauiIcons.Material.Sharp | |
| Maui Icons - Material Sharp Package Contains Complete Collection of Material Sharp Icons.
AathifMahir.Maui.MauiIcons.Cupertino | |
| Maui Icons - Cupertino Package Contains Complete Collection of Open Source Version Framework 7's iOS Icons.
AathifMahir.Maui.MauiIcons.FontAwesome | |
| Maui Icons - FontAwesome Package Contains Complete Collection of Free and Open Source Version of Regular FontAwesome 6 Icons.
AathifMahir.Maui.MauiIcons.FontAwesome.Solid | |
| Maui Icons - FontAwesome Solid Package Contains Complete Collection of Free and Open Source Version of Solid FontAwesome 6 Icons.
AathifMahir.Maui.MauiIcons.FontAwesome.Brand | |
| Maui Icons - FontAwesome Brand Package Contains Complete Collection of Free and Open Source Version of Brand FontAwesome 6 Icons.
Get Started
In order to use the .NET MAUI Icons you need to call the extension method in your
MauiProgram.csfile as follows:
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
// Maui App Builder that Comes with Default Maui App
builder.UseMauiApp<App>()
// Initialises the .Net Maui Icons - Fluent
.UseFluentMauiIcons()
// Initialises the .Net Maui Icons - Material
.UseMaterialMauiIcons()
// Initialises the .Net Maui Icons - Cupertino
.UseCupertinoMauiIcons();
}
}
Table of Contents
- Usage
- Advanced Settings
- New Changes in v4
- Workaround (Must Read)
- Built in Control Usage
- Xaml Extension Usage
- Data Binding Usage
- C# Markup Usage
- OnPlatform and OnIdiom Usage
- Breaking Changes
- Advanced Usage
- Contribute
- License
Usage
In order to make use of the .Net Maui Icons you can use the below namespace:
xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"
Advanced Settings
You can set the default icon size, font override, and default font auto-scaling using the UseMauiIconsCore builder extension as follows:
builder.UseMauiIconsCore(x =>
{
x.SetDefaultIconSize(30.0);
x.SetDefaultFontOverride(true);
x.SetDefaultFontAutoScaling(true);
})
Workaround
if you came across this issue dotnet/maui#7503 when using new namespace, Make sure to create an discarded instance of MauiIcon in the codebehind like below
public MainPage()
{
InitializeComponent();
// Temporary Workaround for url styled namespace in xaml
_ = new MauiIcon();
}
Built in Control Usage
Xaml
<mi:MauiIcon Icon="{mi:Cupertino Airplane}"/>
<mi:MauiIcon Icon="{mi:material ABC}"/>
<mi:MauiIcon Icon="{mi:fluent Accounts}"/>
C#
// Traditional C#
new MauiIcon() {Icon = CupertinoIcons.AppBadge, IconColor = Colors.Green};
new MauiIcon() {Icon = FluentIcons.Accounts, IconColor = Colors.Blue};
new MauiIcon() {Icon = MaterialIcons.ABC, IconColor = Colors.Yellow};
// C# Markup
new MauiIcon().Icon(CupertinoIcons.AntFill).IconColor(Colors.Purple);
new MauiIcon().Icon(FluentIcons.Accounts).IconColor(Colors.Magenta);
new MauiIcon().Icon(MaterialIcons.ABC).IconColor(Colors.Violet);
Xaml Extension Usage
<Image Aspect="Center" Source="{mi:Cupertino Icon=ArchiveboxFill}"/>
<Image Aspect="Center" mi.MauiIcon.Value="{mi:Cupertino Icon=ArchiveboxFill}"/>
<Label Text="{mi:Fluent Icon=Accounts, FontOverride=True}"/>
<Label mi.MauiIcon.Value="{mi:Fluent Icon=Accounts, FontOverride=True}"/>
<ImageButton Source="{mi:Material Icon=AccessAlarm}"/>
<ImageButton mi.MauiIcon.Value="{mi:Material Icon=AccessAl
