Skip to main content
net10.0net8.0

Package Description

Published
Aug 28, 2026
1mo ago
Total Downloads
405
405

Install

dotnet add package Irihi.Iconica.Core --version 1.0.0
ProductVersions
.NET
net10.0net8.0

README

IRIHI Iconica

English | ็ฎ€ไฝ“ไธญๆ–‡

Avalonia icon libraries that ship popular open-source icon sets as native, runtime-customizable controls โ€” no SVG files, no asset management, full type safety.

Package NuGet Icons Icon source
Irihi.Iconica.IconPark Apache-2.0 2,600+ ByteDance IconPark
Irihi.Iconica.TDesign Apache-2.0 2,300+ Tencent TDesign Icons

Why this library?

Instead of importing individual SVG files as static resources, every icon is generated as a strongly-typed Avalonia control that renders through DrawingContext. That gives you:

  • Runtime customization โ€” change colors, stroke width, line caps and joins from XAML or code, even at runtime
  • Multiple display modes โ€” IconPark supports Line, Fill, TwoTone and MultiColor; TDesign supports outline/filled variants
  • Type safety & IntelliSense โ€” every icon is a C# class with a predictable name
  • No asset overhead โ€” no SVG files to manage, no naming conflicts, everything is compiled into the library
  • Performance โ€” pre-parsed geometry data for efficient rendering

Getting started

Install

dotnet add package Irihi.Iconica.IconPark   # IconPark icons
dotnet add package Irihi.Iconica.TDesign    # TDesign icons

Usage (XAML)

<Window xmlns="https://github.com/avaloniaui"
        xmlns:iconpark="https://irihi.tech/iconica/iconpark"
        xmlns:tdicon="https://irihi.tech/iconica/tdesign">
    <StackPanel>
        <!-- IconPark: basic icon -->
        <iconpark:Bear Width="24" Height="24" />

        <!-- IconPark: runtime customization -->
        <iconpark:Bear Width="48" Height="48"
                       Mode="TwoTone"
                       OuterStroke="#333333"
                       OuterFill="#2F88FF"
                       InnerStroke="White"
                       InnerFill="#43CCF8"
                       StrokeWidth="4"
                       LineCap="Round" />

        <!-- TDesign icons -->
        <tdicon:AddCircle />
        <tdicon:AddCircleFilled />
        <tdicon:User Mode="FilledMultiple" />
    </StackPanel>
</Window>

For per-package details, see the package READMEs:

Repository layout

src/
โ”œโ”€โ”€ Irihi.Iconica.Core/            # Shared core (icon base types)
โ”œโ”€โ”€ Irihi.Iconica.IconPark/        # IconPark package
โ”œโ”€โ”€ Irihi.Iconica.TDesign/         # TDesign package
โ”œโ”€โ”€ IconGenerator.IconPark/        # Generates IconPark icon classes from SVG
โ””โ”€โ”€ IconGenerator.TDesign/         # Generates TDesign icon classes from SVG
demo/
โ”œโ”€โ”€ Irihi.Iconica.Demo/            # Icon gallery demo
โ”œโ”€โ”€ Irihi.Iconica.Demo.Desktop/    # Desktop demo host
โ””โ”€โ”€ Irihi.Iconica.Demo.Browser/    # Browser demo host
external/
โ”œโ”€โ”€ iconpark/                      # IconPark source (git submodule)
โ””โ”€โ”€ tdesign-icons/                 # TDesign Icons source (git submodule)

Building from source

Prerequisites

  • .NET 8.0 SDK or later
  • Git

Steps

git clone https://github.com/irihitech/Irihi.Iconica.git
cd Irihi.Iconica

# Initialize the icon source submodules
git submodule update --init

# Build the solution
dotnet build Irihi.Iconica.slnx

To regenerate icon classes after updating a submodule:

dotnet run --project src/IconGenerator.IconPark
dotnet run --project src/IconGenerator.TDesign

Run the demo

dotnet run --project demo/Irihi.Iconica.Demo.Desktop

The demo provides a searchable gallery of all icons with live customization options.

License

This repository is licensed under the Apache License 2.0 โ€” see LICENSE.

This product includes icons from:

Attribution notices are included in each package's NOTICE file. Generated code and libraries: Copyright ยฉ 2025 IRIHI Technology Co., Ltd.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

Compatibility metadata lists 2 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.