AathifMahir.Maui.MauiIcons.Fluent
2.2.5
Prefix Reserved
Due to Binding Feature that Introduced in v2.2.5, We found that Compiling the App in Release Mode Causes the Icons Not to Appear in the View, Therefore we recommand v2.1.5 before the next patch is available
See the version list below for details.
dotnet add package AathifMahir.Maui.MauiIcons.Fluent --version 2.2.5
NuGet\Install-Package AathifMahir.Maui.MauiIcons.Fluent -Version 2.2.5
<PackageReference Include="AathifMahir.Maui.MauiIcons.Fluent" Version="2.2.5" />
paket add AathifMahir.Maui.MauiIcons.Fluent --version 2.2.5
#r "nuget: AathifMahir.Maui.MauiIcons.Fluent, 2.2.5"
// Install AathifMahir.Maui.MauiIcons.Fluent as a Cake Addin #addin nuget:?package=AathifMahir.Maui.MauiIcons.Fluent&version=2.2.5 // Install AathifMahir.Maui.MauiIcons.Fluent as a Cake Tool #tool nuget:?package=AathifMahir.Maui.MauiIcons.Fluent&version=2.2.5
.Net Maui Icons
The .NET MAUI Icons - Fluent library serves as a lightweight icon library, addressing icon and font icon management in .NET MAUI by offering controls that utilize the comprehensive open-source version of the Fluent Icon Collection, seamlessly integrated into the library. Check out the Repository for Docs
Get Started
In order to use the .Net Maui Icons - Fluent you need to call the extension method in your MauiProgram.cs
file as follows:
using MauiIcons.Fluent;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
// Initialise the .Net Maui Icons - Fluent
builder.UseMauiApp<App>().UseFluentMauiIcons();
}
}
Usage
In order to make use of the .Net Maui Icons - Fluent you can use the below namespace:
Xaml
xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"
C#
using MauiIcons.Fluent;
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();
}
Breaking Changes from v2
Old (v1)
xmlns:fluent="clr-namespace:MauiIcons.Fluent;assembly=MauiIcons.Fluent"
<fluent:MauiIcon Icon="AppFolder48"/>
New (v2)
xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"
<mi:MauiIcon Icon="{mi:Fluent AppFolder48}"/>
Built in Control Usage
Xaml
<mi:MauiIcon Icon="{mi:Fluent AppFolder48}"/>
C#
new MauiIcon() {Icon = Fluent.AppFolder48, IconColor = Colors.Green};
new MauiIcon().Icon(FluentIcons.Accessibility48).IconColor(Colors.Purple);
All the Properties and Features of Built in Control, Check Here
Xaml Extension Usage
<Image Aspect="Center" Source="{mi:Fluent Icon=Accessibility48}"/>
<Label Text="{mi:Fluent Icon=AppFolder48}"/>
Xaml Extension Data Binding Usage
The below example, Make Sures that BindingContext Inside the Xaml Extension is Set to Root of this Page, Likewise make sure to set the BindingContext When using Binding Inside the MauiIcons Xaml Extension, Additionally This example Binds to MyIcon and MyColor Properties Which Present in Code Behind But Not Included in this Example.
<ContentPage
x:Class="MauiIcons.Sample.BindingPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MauiIcons.Sample"
xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"
x:Name="thisRoot">
<HorizontalStackLayout>
<Label Text="{mi:Fluent BindingContext={x:Reference thisRoot}, Icon={Binding MyIcon}, IconColor={Binding MyColor}}" />
<Image>
<Image.Source>
<FontImageSource
Glyph="{mi:Fluent BindingContext={x:Reference thisRoot},
Icon={Binding MyIcon}, IconColor={Binding MyColor}}" />
</Image.Source>
</Image>
<ImageButton Source="{mi:Fluent BindingContext={x:Reference thisRoot}, Icon={Binding MyIcon}, IconColor={Binding MyColor}" />
</HorizontalStackLayout>
</ContentPage>
C# Markup Usage
new ImageButton().Icon(FluentIcons.AppFolder48),
new Image().Icon(FluentIcons.Accessibility48),
new Label().Icon(FluentIcons.AppFolder48).IconSize(40.0).IconColor(Colors.Red),
new Entry().Icon(FluentIcons.Accessibility48).IconSize(20.0).IconColor(Colors.Aqua),
Disclaimer: It's important to note that not all controls are compatible with C# markup. We have conducted tests with the following controls in the current release: Label, Image, ImageButton, SearchBar, Editor, and Entry. Additionally, the native MauiIcon control, when combined with C# markup, can prove to be quite versatile and offer extra features for various scenarios.
Applying Icon To Text or Placeholder
Controls that Supports Placeholder, Can Assign the Icon To PlaceHolder or Text, Defaults to Placeholder but can be set to Text by Setting isPlaceHolder Parameter to False
new Entry().Icon(FluentIcons.Accessibility48, isPlaceHolder: false).IconSize(20.0).IconColor(Colors.Aqua);
new SearchBar().Icon(FluentIcons.AppFolder48, isPlaceHolder: false);
Disclaimer: It's important to note that not all controls are compatible with C# markup. We have conducted tests with the following controls in the current release: Label, Image, ImageButton, SearchBar, Editor, and Entry. Additionally, the native MauiIcon control, when combined with C# markup, can prove to be quite versatile and offer extra features for various scenarios.
Custom OnPlatform and OnIdiom Usage
Xaml
<mi:MauiIcon Icon="{mi:Fluent AppFolder48}" OnPlatforms="WinUI, Android, MacCatalyst"/>
<mi:MauiIcon Icon="{mi:Fluent Accessibility48}" OnIdioms="Desktop, Phone, Tablet"/>
<mi:MauiIcon Icon="{mi:Fluent AppFolder48}" OnPlatforms="Android" OnIdioms="Phone"/>
C#
new MauiIcon().Icon(FluentIcons.AppFolder48).OnPlatforms(new List<string>{"WinUI", "Android"});
new MauiIcon().Icon(FluentIcons.Accessibility48).OnIdioms(new List<string>{"Desktop", "Phone"});
new MauiIcon().Icon(FluentIcons.AppFolder48).OnPlatforms(new List<string>{"WinUI", "Android"}).OnIdioms(new List<string>{"Desktop", "Phone"});
Maui Built in OnPlatform and OnIdiom Usage
<Image>
<Image.Source>
<OnPlatform x:TypeArguments="ImageSource" Default="{mi:Fluent Icon=Accessibility48, TypeArgument={x:Type ImageSource}}">
<On Platform="MacCatalyst, WinUI"
Value="{mi:Fluent Icon=AppFolder48, IconBackgroundColor=Cyan, TypeArgument={x:Type ImageSource}}"/>
</OnPlatform>
</Image.Source>
</Image>
<Image>
<Image.Source>
<OnIdiom Default="{mi:Fluent Icon=AppFolder48, TypeArgument={x:Type ImageSource}}"
Desktop="{mi:Fluent Icon=Accessibility48, TypeArgument={x:Type ImageSource}}">
</OnIdiom>
</Image.Source>
</Image>
Disclaimer: Only ImageSource or FontImageSource Supports Maui's Built in OnPlatform or OnIdiom and TypeArgument Should be Assigned to Work Optimally, Therefore It's Recommended to use MauiIcons Custom OnPlatform and OnIdioms
License
MauiIcons.Fluent
The MauiIcons.Fluent is library is distributed under the MIT License.
Fluent UI System Icons
The Fluent UI System Icons library is distributed under the MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-android33.0 is compatible. net7.0-ios was computed. net7.0-ios16.1 is compatible. net7.0-maccatalyst was computed. net7.0-maccatalyst16.1 is compatible. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows10.0.19041 is compatible. 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-ios17.2 is compatible. net8.0-maccatalyst was computed. net8.0-maccatalyst17.2 is compatible. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows10.0.19041 is compatible. |
-
net7.0
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
-
net7.0-android33.0
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
-
net7.0-ios16.1
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
-
net7.0-maccatalyst16.1
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
-
net7.0-windows10.0.19041
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
-
net8.0
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
- Microsoft.Maui.Controls (>= 8.0.7)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.7)
-
net8.0-android34.0
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
- Microsoft.Maui.Controls (>= 8.0.7)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.7)
-
net8.0-ios17.2
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
- Microsoft.Maui.Controls (>= 8.0.7)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.7)
-
net8.0-maccatalyst17.2
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
- Microsoft.Maui.Controls (>= 8.0.7)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.7)
-
net8.0-windows10.0.19041
- AathifMahir.Maui.MauiIcons.Core (>= 2.2.5)
- Microsoft.Maui.Controls (>= 8.0.7)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.7)
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 | |
---|---|---|---|
4.0.0 | 362 | 10/17/2024 | |
3.0.0 | 1,589 | 5/11/2024 | |
2.2.5 | 266 | 5/6/2024 | |
2.2.0-pre | 130 | 5/4/2024 | |
2.1.5 | 503 | 4/1/2024 | |
2.1.2 | 1,099 | 3/17/2024 | |
2.1.1 | 642 | 2/1/2024 | |
2.1.0 | 619 | 12/23/2023 | |
2.0.0 | 528 | 11/17/2023 | |
2.0.0-rc1.1 | 79 | 11/14/2023 | |
1.2.1 | 2,012 | 8/15/2023 | |
1.2.0 | 262 | 7/1/2023 | |
1.1.5 | 268 | 6/17/2023 | |
1.1.1 | 212 | 6/3/2023 | |
1.1.0 | 588 | 3/10/2023 | |
1.1.0-pre1 | 144 | 3/3/2023 | |
1.0.1 | 488 | 12/7/2022 | |
1.0.0 | 365 | 11/19/2022 | |
0.2.0-pre2 | 152 | 11/8/2022 | |
0.2.0-pre1 | 160 | 11/7/2022 | |
0.1.1 | 353 | 11/8/2022 | |
0.1.0 | 365 | 11/7/2022 | |
0.1.0-pre9 | 159 | 11/4/2022 | |
0.1.0-pre7 | 174 | 11/1/2022 | |
0.1.0-pre6 | 147 | 10/31/2022 | |
0.1.0-pre5 | 164 | 10/31/2022 |
v2.2.5
• New and Improved Xaml Markup Extension with Binding Support
v2.1.5
• New and Improved Extension for MauiIcon C#
v2.1.2
• Minor Fixes and Improvements for Base Extension
v2.1.1
• Minor Patch on Issue #83
v2.1.0
• Docs Update
v2.0.0
• New Modular Core
• Major Core Control Enhancements
• Icon Suffix Support on Core Control
• Major Core Extension Enhanecements and Support for C# Markup Extension
• New C# Markup Extension for Maui Built in Controls
• New OnPlatform and OnIdioms Support
• Improved Docs
• Breaking Changes - https://github.com/AathifMahir/MauiIcons/#breaking-changes-from-v2
v1.2.1
• Added Support for Vanilla Version of Dotnet to Unit Test the Project
v1.2.0
• Added Variant Support Base Control and Extension
• New and Improved Icon Control
v1.1.5
• Added Icon Unicode Support for Icon Extension
• Added Direct Content Support
• Minor Enhancements and Fixes
v1.1.1
• Minor Enhancements and Fixes
v1.1.0
• Dotnet 7 Support
• Minor Enhancements and Fixes
v1.0.1
• Fixed Missing Cast
v1.0.0
• First Milestone Build and Production App Ready
• Breaking Changes: MauiIcons.Fluent is Replaced by MauiIcons.SegoeFluent
You'll need to download the MauiIcons.SegoeFluent Package using the below link for Continueing to use Windows Fluent Icons
AathifMahir.Maui.MauiIcons.SegoeFluent
v0.2.0-pre2
• Ported Critical Fix from Stable Build
v0.2.0-pre1
• Breaking Changes: MauiIcons.Fluent is Switched to MauiIcons.SegoeFluent
You'll need to download the MauiIcons.SegoeFluent Package to using the below link use the Old Fluent Icon Package
AathifMahir.Maui.MauiIcons.SegoeFluent
• Add New Icon Collection for New Fluent Package
v0.1.0
• First Stable Build
• Added New Attributes to Icon Extension
• Improvements to Documentation