/Material.Icons

Strongly typed parsed icons set from materialdesignicons.com and display control implementations for different GUI frameworks.

Primary LanguageC#MIT LicenseMIT

Material.Icons

Parsed icons set from materialdesignicons.com and display control implementations for different GUI frameworks.

  • All icons are always up-to-date because automatically updated every 6 hours.
  • Small package size because icons are graphically encoded via SVG Path.
  • Icon types are strongly typed enum, so your IDE will suggest available variants:
    895428ad-6010-4ffd-bd88-61aecd50f5e1

Structure

This project consists of 3 parts:

  • contains info about the icons

  • contains controls for AvaloniaUI

  • contains controls for WPF

  • FAQ - frequently asked questions

Avalonia

Getting started

  1. Install Material.Icons.Avalonia nuget package:
    dotnet add package Material.Icons.Avalonia
    avalonia-nuget avalonia-nuget
  2. Include styles in App.xaml
    <Application xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia" 
                 ...>
      <Application.Styles>
        ...
        <materialIcons:MaterialIconStyles />
      </Application.Styles>
    </Application>

Using

Add Material.Icons.Avalonia namespace to the root element of your file (your IDE can suggest it or do it automatically):

xmlns:materialIcons="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"

Use MaterialIcon control:

<materialIcons:MaterialIcon Kind="Abacus" />

The Foreground property controls the color of the icon.
Also, there is MaterialIconExt which allows you to use is as the markup extension:

<Button Content="{materialIcons:MaterialIconExt Kind=Abacus}" />

WPF

Getting started

Install Material.Icons.WPF nuget package:

dotnet add package Material.Icons.WPF

wpf-nuget wpf-nuget

Using

Add Material.Icons.WPF namespace to the root element of your file (your IDE can suggest it or do it automatically):

xmlns:materialIcons="clr-namespace:Material.Icons.WPF;assembly=Material.Icons.WPF"

Use MaterialIcon control:

<materialIcons:MaterialIcon Kind="Abacus" />

The Foreground property controls the color of the icon.
Also, there is MaterialIconExt which allows you to use is as the markup extension:

<Button Content="{materialIcons:MaterialIconExt Kind=Abacus}" />

Meta

Getting started

Install Material.Icons nuget package:

dotnet add package Material.Icons

icons-nuget icons-nuget

Using

Icon types stored in Material.Icons.MaterialIconKind enum.
We can resolve an icon path by using Material.Icons.MaterialIconDataProvider.GetData().

FAQ

How to change icon color?

  • Change Foreground property.

How to update icons?

  • You can manually set Material.Icons package version in your project file.

What about versioning policy?

  • We use semver.
    Any package with identical major and minor versions is compatible.
    For example, 1.0.0 and 1.0.1 are compatible, but 1.0.0 and 1.1.0 might not be.