davidxuang / FluentIcons

A multi-framework wrapper of https://github.com/microsoft/fluentui-system-icons
MIT License
72 stars 6 forks source link
avalonia dotnet fluent fluentui icons maui uwp winui wpf

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:

<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).