AathifMahir.Maui.MauiIcons.Fluent.Filled 3.0.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package AathifMahir.Maui.MauiIcons.Fluent.Filled --version 3.0.0                
NuGet\Install-Package AathifMahir.Maui.MauiIcons.Fluent.Filled -Version 3.0.0                
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="AathifMahir.Maui.MauiIcons.Fluent.Filled" Version="3.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AathifMahir.Maui.MauiIcons.Fluent.Filled --version 3.0.0                
#r "nuget: AathifMahir.Maui.MauiIcons.Fluent.Filled, 3.0.0"                
#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.
// Install AathifMahir.Maui.MauiIcons.Fluent.Filled as a Cake Addin
#addin nuget:?package=AathifMahir.Maui.MauiIcons.Fluent.Filled&version=3.0.0

// Install AathifMahir.Maui.MauiIcons.Fluent.Filled as a Cake Tool
#tool nuget:?package=AathifMahir.Maui.MauiIcons.Fluent.Filled&version=3.0.0                

.Net Maui Icons

The .NET MAUI Icons - Fluent Filled 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 Filled you need to call the extension method in your MauiProgram.cs file as follows:

using MauiIcons.Fluent.Filled;

public static class MauiProgram
{
	public static MauiApp CreateMauiApp()
	{
		var builder = MauiApp.CreateBuilder();
		
		// Initialise the .Net Maui Icons - Fluent Filled
		builder.UseMauiApp<App>().UseFluentFilledMauiIcons();
	}
}

Usage

In order to make use of the .Net Maui Icons - Fluent Filled you can use the below namespace:

Xaml

xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"

C#

using MauiIcons.Fluent.Filled;

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

Version 1 to 2

Old (v1)

xmlns:fluentFilled="clr-namespace:MauiIcons.Fluent.Filled;assembly=MauiIcons.Fluent.Filled"

<fluentFilled:MauiIcon Icon="AppFolder48Filled"/>

New (v2)

xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"

<mi:MauiIcon Icon="{mi:FluentFilled AppFolder48Filled}"/>

Version 2 to 3

Nuget Package Changes

Built in Control Usage

Xaml

<mi:MauiIcon Icon="{mi:FluentFilled AppFolder48Filled}"/>

C#

new MauiIcon() {Icon = FluentFilledIcons.AppFolder48Filled, IconColor = Colors.Green};

new MauiIcon().Icon(FluentFilledIcons.Accessibility48Filled).IconColor(Colors.Purple);

All the Properties and Features of Built in Control, Check Here

Xaml Extension Usage

<Image Aspect="Center" Source="{mi:FluentFilled Icon=Accessibility48Filled}"/>

<Label Text="{mi:FluentFilled Icon=AppFolder48Filled}"/>

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(FluentFilledIcons.AppFolder48Filled),

new Image().Icon(FluentFilledIcons.Accessibility48Filled),

new Label().Icon(FluentFilledIcons.AppFolder48Filled).IconSize(40.0).IconColor(Colors.Red),

new Entry().Icon(FluentFilledIcons.Accessibility48Filled).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(FluentFilledIcons.Accessibility48Filled, isPlaceHolder: false).IconSize(20.0).IconColor(Colors.Aqua);

new SearchBar().Icon(FluentFilledIcons.AppFolder48Filled, 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:FluentFilled AppFolder48Filled}" OnPlatforms="WinUI, Android, MacCatalyst"/>
<mi:MauiIcon Icon="{mi:FluentFilled Accessibility48Filled}" OnIdioms="Desktop, Phone, Tablet"/>
<mi:MauiIcon Icon="{mi:FluentFilled AppFolder48Filled}" OnPlatforms="Android" OnIdioms="Phone"/>

C#

new MauiIcon().Icon(FluentFilledIcons.AppFolder48Filled).OnPlatforms(new List<string>{"WinUI", "Android"});
new MauiIcon().Icon(FluentFilledIcons.Accessibility48Filled).OnIdioms(new List<string>{"Desktop", "Phone"});
new MauiIcon().Icon(FluentFilledIcons.AppFolder48Filled).OnPlatforms(new List<string>{"WinUI", "Android"}).OnIdioms(new List<string>{"Desktop", "Phone"});

License

MauiIcons.Fluent.Filled
MauiIcons.Fluent.Filled is Licensed Under MIT License.

Fluent UI System Icons
Fluent UI System Icons is Licensed Under MIT License.

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-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. 
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
4.0.0 186 10/17/2024
3.0.0 488 5/11/2024
2.2.5 179 5/6/2024 2.2.5 is deprecated because it has critical bugs.
2.2.0-pre 114 5/4/2024
2.1.5 207 4/1/2024
2.1.2 162 3/17/2024
2.1.1 177 2/1/2024
2.1.0 231 12/23/2023
2.0.0 225 11/17/2023

v3.0.0
• Critical Fixes for Xaml Markup Binding Support
• Breaking Changes: Removal of Dotnet 7 Support
• Breaking Changes: Removal of Maui OnPlatform and OnIdioms Support Instead Use MauiIcons Integrated Custom OnPlatforms and OnIdioms Feature

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
• FluentFilled Icons Support