Material.Icons.Avalonia
2.1.10
dotnet add package Material.Icons.Avalonia --version 2.1.10
NuGet\Install-Package Material.Icons.Avalonia -Version 2.1.10
<PackageReference Include="Material.Icons.Avalonia" Version="2.1.10" />
paket add Material.Icons.Avalonia --version 2.1.10
#r "nuget: Material.Icons.Avalonia, 2.1.10"
// Install Material.Icons.Avalonia as a Cake Addin #addin nuget:?package=Material.Icons.Avalonia&version=2.1.10 // Install Material.Icons.Avalonia as a Cake Tool #tool nuget:?package=Material.Icons.Avalonia&version=2.1.10
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:
Structure
This project consists of 3 parts:
FAQ - frequently asked questions
Community maintained
- contains controls for WinUI/UNO (separate repository)
Avalonia
Getting started
- Install Material.Icons.Avalonia nuget package:
dotnet add package Material.Icons.Avalonia
- Include styles in
App.xaml
(for2.0.0
version and higher):<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}" />
Avalonia FuncUI (F#)
Getting started
- Install Material.Icons.Avalonia nuget package:
dotnet add package Material.Icons.Avalonia
- Import styles in Application (or if you use XAML check instructions for plain Avalonia)
type App() = inherit Application() override this.Initialize() = .. this.Styles.Add(MaterialIconStyles(null)) ..
- Create bindings for
MaterialIcon
namespace Avalonia.FuncUI.DSL [<AutoOpen>] module MaterialIcon = open Material.Icons open Material.Icons.Avalonia open Avalonia.FuncUI.Types open Avalonia.FuncUI.Builder let create (attrs: IAttr<MaterialIcon> list): IView<MaterialIcon> = ViewBuilder.Create<MaterialIcon>(attrs) type MaterialIcon with static member kind<'t when 't :> MaterialIcon>(value: MaterialIconKind) : IAttr<'t> = AttrBuilder<'t>.CreateProperty<MaterialIconKind>(MaterialIcon.KindProperty, value, ValueNone)
- Use
Button.create [ Button.content ( MaterialIcon.create [ MaterialIcon.kind MaterialIconKind.Export ] ) ]
WPF
Getting started
Install Material.Icons.WPF nuget package:
dotnet add package Material.Icons.WPF
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
Using
Icon types stored in Material.Icons.MaterialIconKind
enum.
We can resolve an icon path by using Material.Icons.MaterialIconDataProvider.GetData()
.
Adding your own icons
Currently, there is no way to add your own icons, as icons are enum and cannot be modified.
But you can override some existing icons to use your own data:
public class CustomIconProvider : MaterialIconDataProvider
{
public override string ProvideData(MaterialIconKind kind)
{
return kind switch
{
MaterialIconKind.TrophyVariant => "some SVG code",
_ => base.ProvideData(kind)
};
}
}
// When your application starts (e.g. in the Main method) replace MaterialIconDataProvider with your own
public static int Main(string[] args)
{
MaterialIconDataProvider.Instance = new CustomIconProvider(); // Settings custom provider
// Application startup code
// return BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
}
FAQ
How to change icon color?
- Change
Foreground
property.
How to change size?
- If you are using
MaterialIcon
control - useWidth
or/andHeight
properties. - If you are using
MaterialIconExt
- useSize
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
and1.0.1
are compatible, but1.0.0
and1.1.0
might not be.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Avalonia (>= 11.0.0-rc1.1)
- Material.Icons (>= 2.1.10)
NuGet packages (23)
Showing the top 5 NuGet packages that depend on Material.Icons.Avalonia:
Package | Downloads |
---|---|
ArtemisRGB.UI.Shared
Package Description |
|
Ahsoka.DeveloperTools.Core
Package Description |
|
MattEqualsCoder.AvaloniaControls
Package Description |
|
Common.Activity
Package Description |
|
Asv.Avalonia.Map
Map library for Avalonia UI |
GitHub repositories (17)
Showing the top 5 popular GitHub repositories that depend on Material.Icons.Avalonia:
Repository | Stars |
---|---|
Tyrrrz/YoutubeDownloader
Downloads videos and playlists from YouTube
|
|
Tyrrrz/DiscordChatExporter
Exports Discord chat logs to a file
|
|
Tyrrrz/YoutubeExplode
Abstraction layer over YouTube's internal API
|
|
Tyrrrz/LightBulb
Reduces eye strain by adjusting screen gamma based on the current time
|
|
kikipoulet/SukiUI
UI Theme for AvaloniaUI
|
Version | Downloads | Last updated |
---|---|---|
2.1.10 | 46,169 | 6/20/2024 |
2.1.9 | 13,932 | 4/9/2024 |
2.1.0 | 24,606 | 12/9/2023 |
2.0.1 | 34,095 | 6/1/2023 |
2.0.0 | 1,175 | 5/4/2023 |
2.0.0-preview3 | 2,679 | 3/23/2023 |
2.0.0-preview2 | 2,512 | 2/5/2023 |
2.0.0-preview1 | 580 | 1/23/2023 |
1.2.2 | 2,247 | 1/12/2023 |
1.2.1 | 473 | 1/10/2023 |
1.2.0 | 7,041 | 8/22/2022 |
1.1.10 | 42,055 | 7/12/2022 |
1.0.2 | 45,685 | 2/25/2021 |
1.0.1 | 516 | 2/15/2021 |
1.0.0 | 3,930 | 1/21/2021 |
- Icons set updated according to materialdesignicons.com at Thu, 20 Jun 2024 12:18:52 GMT
Check out changes at https://pictogrammers.com/library/mdi/history/