/FluentIcons

A multi-framework wrapper of https://github.com/microsoft/fluentui-system-icons

Primary LanguageC#MIT LicenseMIT

FluentIcons

A multi-framework wrapper of fluentui-system-icons.

Packages

Package Platform
FluentIcons.Common
FluentIcons.Avalonia Avalonia 11
FluentIcons.Avalonia.Fluent FluentAvalonia 2 (Avalonia 11)
FluentIcons.Maui MAUI 8
FluentIcons.Uwp UWP 10.0.10773
Uno.UI 5
FluentIcons.WinUI Windows App SDK 1.2
Uno.WinUI 5
FluentIcons.WPF .NET Framework 4.6.2
.NET 6

Legacy

Ref Package Platform
avalonia-v0.10 FluentIcons.Avalonia Avalonia 0.10
avalonia-v0.10 FluentIcons.Avalonia.Fluent FluentAvalonia 1.3 (Avalonia 0.10)

Usage

<Window xmlns:ic="using:FluentIcons.WinUI">
<!-- or FluentIcons.Avalonia / FluentIcons.Avalonia.Fluent / FluentIcons.Maui / FluentIcons.WPF -->
    <ic:SymbolIcon Symbol="ArrowLeft" IsFilled="True" />
</Window>

This package features <SymbolIcon> element, and <SymbolIconSource> on platforms with <IconSource>, which generally provide following properties:

  • Symbol : Symbol
    • Breaking change since 1.1.229: LTR/RTL specific values are removed, use FlowDirection instead.
  • IconVariant : IconVariant
    • Breaking change since 1.1.247: IsFilled has been deprecated and is subject to be removed.
  • UseSegoeMetrics : bool
  • FlowDirection : FlowDirection
    • Switch between LTR/RTL icon variant.
  • FontSize : double
    • Breaking change since 1.1.225: no longer inherit value from parent element to match WinUI behaviours.
  • Foreground : Brush
<Window xmlns:ic="using:FluentIcons.WinUI">
    <Expander Header="{ic:SymbolIcon Symbol=ArrowLeft}" />
</Window>

SymbolIconExtension and SymbolIconSourceExtension have been added since 1.1.242. These extensions will bind their FlowDirection to that of the parent control, except SymbolIconSourceExtension on (non-Uno) UWP where IXamlServiceProvider is not available.

Avalonia

To enable UseSegoeMetrics globally, call UseSegoeMetric(this AppBuilder builder). Markup extension classes are in a child namespace to stop style selectors from throwing for their naming conventions.

MAUI

⚠️ The extension method UseFluentIcons(this MauiAppBuilder builder, bool useSegoeMetrics) must be called to register fonts properly. ⚠️

<SymbolImageSource> and SymbolImageSourceExtension are provided on MAUI as stand-ins.

UWP / WinUI

⚠️ You must reference this package directly so that fonts can be included in the build output properly. ⚠️

To enable UseSegoeMetrics globally, call UseSegoeMetric(this Application app) or UseSegoeMetric(this IHostBuilder builder) (WinUI-only).

WPF

To enable UseSegoeMetrics globally, call UseSegoeMetric(this Application app).