Atc.Wpf.FontIcons 2.0.665

dotnet add package Atc.Wpf.FontIcons --version 2.0.665
                    
NuGet\Install-Package Atc.Wpf.FontIcons -Version 2.0.665
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Atc.Wpf.FontIcons" Version="2.0.665" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Atc.Wpf.FontIcons" Version="2.0.665" />
                    
Directory.Packages.props
<PackageReference Include="Atc.Wpf.FontIcons" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Atc.Wpf.FontIcons --version 2.0.665
                    
#r "nuget: Atc.Wpf.FontIcons, 2.0.665"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Atc.Wpf.FontIcons@2.0.665
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Atc.Wpf.FontIcons&version=2.0.665
                    
Install as a Cake Addin
#tool nuget:?package=Atc.Wpf.FontIcons&version=2.0.665
                    
Install as a Cake Tool

ATC.Net WPF

A comprehensive set of modern, enterprise-ready WPF libraries for building professional desktop applications with the MVVM design pattern. This framework provides a rich collection of reusable controls, theming support, font icons, and MVVM infrastructure to accelerate WPF application development.

✨ Key Features

  • 🎨 Rich Control Library - 25+ labeled controls, color pickers, selectors, and specialized input controls
  • 🌓 Light/Dark Theming - Built-in theme support for all controls with easy customization
  • 🎯 MVVM Ready - Complete MVVM infrastructure with observable properties and relay commands
  • 🔤 Font Icon Support - Render SVG and image resources based on fonts
  • Smart Validation - Deferred validation pattern for better user experience
  • 📐 Advanced Layouts - GridEx, StaggeredPanel, UniformSpacingPanel and more
  • 🌍 Localization - Built-in translation and localization support
  • 🎭 Value Converters - Extensive collection of XAML value converters

Requirements

NuGet Packages Provided in this Repository

Nuget package Description Dependencies
NuGet Version Base Controls, ValueConverters, Extensions etc. <ul><li>Atc</li><li>Atc.XamlToolkit</li><li>Atc.XamlToolkit.Wpf</li></ul>
NuGet Version Miscellaneous UI Controls <ul><li>Atc.Wpf</li><li>Atc.Wpf.FontIcons</li><li>Atc.Wpf.Theming</li><li>Atc.XamlToolkit</li><li>Atc.XamlToolkit.Wpf</li></ul>
NuGet Version Controls for creating WPF sample apps <ul><li>Atc.Wpf</li><li>Atc.Wpf.Theming</li><li>Atc.Wpf.Controls</li></ul>
NuGet Version Render Svg and Img resources based on fonts <ul><li>Atc.Wpf</li></ul>
NuGet Version Theming for Light & Dark mode for WPF base controls <ul><li>Atc.Wpf</li><li>Atc.XamlToolkit</li><li>Atc.XamlToolkit.Wpf</li></ul>

🔎 Demonstration Application

The demonstration application, Atc.Wpf.Sample, functions as a control explorer. It provides quick visualization of a given control, along with options for copying and pasting the XAML markup and/or the C# code for how to use it.

🎈 Playground and Viewer for a Given Control or Functionality

The following example is taken from the ReplayCommandAsync which illustrates its usage:

  • The Sample tab shows how to use the control or feature.
  • The XAML tab displays the corresponding XAML markup.
  • The CodeBehind tab reveals the underlying code-behind.
  • The ViewModel tab displays the associated ViewModel, if used.
  • The Readme tab displays the associated [control]_Readme.md, if exist.
Sample Img XAML Img
CodeBehind Img ViewModel Img

🔦 Initial glimpse at the demonstration application

Light-Mode Dark-Mode
Wpf - AutoGrid Img Wpf - AutoGrid Img
Wpf.Controls - Label MIX Img Wpf.Controls - Label MIX Img
Wpf.Theming - ImageButton Img Wpf.Theming - ImageButton Img
Wpf.FontIcons - Viewer Img Wpf.FontIcons - Viewer Img

🚀 Quick Start Guide

Installation

Add the NuGet packages to your .csproj file:

<ItemGroup>
  <PackageReference Include="Atc.Wpf" Version="2.*" />
  <PackageReference Include="Atc.Wpf.Controls" Version="2.*" />
  <PackageReference Include="Atc.Wpf.FontIcons" Version="2.*" />
  <PackageReference Include="Atc.Wpf.Theming" Version="2.*" />
</ItemGroup>

Configuration

1. Update App.xaml

Add the required resource dictionaries to enable theming and control styles:

<Application
    x:Class="YourApp.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:atc="https://github.com/atc-net/atc-wpf/tree/main/schemas">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                
                <ResourceDictionary Source="pack://application:,,,/Atc.Wpf.Theming;component/Styles/Default.xaml" />

                
                <ResourceDictionary Source="pack://application:,,,/Atc.Wpf.Controls;component/Styles/Controls.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

2. Use Controls in XAML

Now you can use all controls with full theming support:

<Window
    xmlns:atc="https://github.com/atc-net/atc-wpf/tree/main/schemas"
    ...>

    
    <atc:LabelTextBox
        LabelText="User Name"
        Text="{Binding UserName}"
        IsMandatory="True" />

    
    <atc:LabelEndpointBox
        LabelText="API Endpoint"
        NetworkProtocol="Https"
        Value="{Binding EndpointUri}" />

    
    <Button Content="Save" Command="{Binding SaveCommand}" />
    <TextBox Text="{Binding Notes}" />
</Window>

All standard WPF controls (Button, TextBox, ComboBox, etc.) are automatically styled with Light/Dark theme support.

🎯 Label Controls vs Base Controls

Understanding when to use each type of control:

Aspect Label Controls Base Controls
Label Integrated label with text No label (you provide your own)
Validation Built-in validation message display Validation logic only
Mandatory Asterisk indicator support Not applicable
Use Case Standard forms and dialogs Custom layouts and composite controls
Example <atc:LabelTextBox LabelText="Name" Text="{Binding Name}" /> <atc:IntegerBox Value="{Binding Count}" />

Quick Guideline:

  • Use Label Controls for standard forms where you want consistency and less markup
  • Use Base Controls when you need custom layouts or are building your own controls

💝 MVVM Made Easy

The Atc.Wpf package provides a complete MVVM infrastructure that makes it easy to separate UI and business logic using the MVVM pattern.

Key MVVM Features

  • Observable Properties - Automatic INotifyPropertyChanged implementation
  • Relay Commands - Simple command implementation with CanExecute support
  • Async Commands - Built-in support for async/await patterns
  • Source Generators - Automatic code generation for ViewModels and properties

Learn More

Quick MVVM Example

public partial class MainViewModel : ViewModelBase
{
    [ObservableProperty]
    private string userName = string.Empty;

    [ObservableProperty]
    private bool isEnabled = true;

    [RelayCommand(CanExecute = nameof(CanSave))]
    private async Task SaveAsync()
    {
        await SaveUserDataAsync(UserName);
    }

    private bool CanSave() => !string.IsNullOrEmpty(UserName);
}

📚 Comprehensive Documentation

Note: While this README provides an overview, the best way to explore all controls and components is to run the Atc.Wpf.Sample application, which includes interactive examples with XAML and code-behind for every control! �

💟 Atc.Wpf - Core WPF Library

The foundation library providing essential WPF controls, layouts, and utilities.

Layout Controls

Modern layout panels for advanced UI composition:

Media Controls

  • SvgImage - SVG image rendering control

Helpers & Utilities

  • PanelHelper - Helper methods for panel layout calculations

Additional Features

💟 Atc.Wpf.Controls - Rich Control Library

A comprehensive collection of specialized WPF controls for enterprise applications.

⭐ Label Controls (25+ Controls)

📖 Complete Label Controls Documentation

Labeled input controls with built-in validation, mandatory indicators, and consistent styling:

  • Text Input: LabelTextBox, LabelPasswordBox
  • Number Input: LabelIntegerBox, LabelDecimalBox, LabelIntegerXyBox, LabelDecimalXyBox, LabelPixelSizeBox
  • Date/Time: LabelDatePicker, LabelTimePicker, LabelDateTimePicker
  • Selection: LabelCheckBox, LabelComboBox, LabelToggleSwitch
  • Selectors: LabelAccentColorSelector, LabelCountrySelector, LabelFontFamilySelector, LabelLanguageSelector, LabelThemeSelector, LabelWellKnownColorSelector
  • Pickers: LabelColorPicker, LabelDirectoryPicker, LabelFilePicker
  • Network: LabelEndpointBox (protocol + host + port with validation)
  • Display: LabelContent, LabelTextInfo

All label controls support:

  • ✅ Deferred validation (shows errors only after user interaction)
  • ✅ Mandatory field indicators
  • ✅ Consistent styling and theming
  • ✅ MVVM-friendly data binding

⭐ Base Controls (14 Controls)

📖 Complete Base Controls Documentation

Unlabeled input controls that provide core functionality without the label wrapper:

  • Text Input: RichTextBoxEx
  • Number Input: IntegerBox, DecimalBox, IntegerXyBox, DecimalXyBox, PixelSizeBox
  • Time Selection: ClockPanelPicker
  • Toggle: ToggleSwitch
  • Pickers: ColorPicker, DirectoryPicker, FilePicker
  • Network: EndpointBox (protocol + host + port with validation)

Base controls are perfect for:

  • 🎯 Custom layouts where you position labels yourself
  • 🧩 Building composite controls
  • 📐 Situations where labels are not needed
  • 🔨 Creating your own labeled control wrappers

Color Controls

Additional Resources

💟 Atc.Wpf.FontIcons - Font-Based Icons

Render SVG and image resources using font-based icon systems for crisp, scalable icons.

Features

  • 🎨 Scalable vector icons
  • 🎯 Font-based rendering
  • 📦 Multiple icon font support
  • 🌈 Color and size customization

Resources

💟 Atc.Wpf.Theming - Light & Dark Mode

Complete theming infrastructure with Light and Dark mode support for all WPF controls.

Features

  • 🌓 Light/Dark theme switching
  • 🎨 Accent color customization
  • 🎯 Automatic control styling
  • 🔄 Runtime theme changes
  • 📱 Consistent visual design

Resources


🎯 Source Generators

Atc.Wpf includes powerful source generators to reduce boilerplate code:


🤝 Contributing

We welcome contributions! Please read our guidelines:

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

Built with ❤️ by the ATC.Net team and contributors.

Product Compatible and additional computed target framework versions.
.NET net9.0-windows7.0 is compatible.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0-windows7.0

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Atc.Wpf.FontIcons:

Package Downloads
Atc.Wpf.Controls

A base library for building WPF application.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.665 80 10/20/2025
2.0.664 178 10/6/2025
2.0.659 166 10/2/2025
2.0.657 294 9/15/2025
2.0.651 188 7/14/2025
2.0.647 304 5/13/2025
2.0.646 277 5/12/2025
2.0.642 203 5/7/2025
2.0.640 194 5/5/2025
2.0.638 192 5/4/2025
2.0.636 214 4/22/2025
2.0.631 215 4/10/2025
2.0.627 223 4/5/2025
2.0.626 148 4/5/2025
2.0.624 219 4/3/2025
2.0.621 208 4/2/2025
2.0.618 207 4/1/2025
2.0.605 185 3/26/2025
2.0.599 203 3/17/2025
2.0.597 209 3/17/2025
2.0.596 205 3/16/2025
2.0.595 190 3/16/2025
2.0.594 197 3/16/2025
2.0.593 188 3/16/2025
2.0.592 199 3/16/2025
2.0.582 223 2/19/2025
2.0.581 171 2/19/2025
2.0.580 155 2/19/2025
2.0.579 171 2/19/2025
2.0.578 164 2/18/2025
2.0.574 167 2/16/2025
2.0.569 167 2/16/2025
2.0.568 175 2/16/2025
2.0.565 162 2/15/2025
2.0.563 162 2/15/2025
2.0.562 182 2/12/2025
2.0.561 150 2/10/2025
2.0.547 172 2/9/2025
2.0.545 183 2/8/2025
2.0.534 139 2/8/2025
2.0.530 160 1/19/2025
2.0.524 219 6/13/2024
2.0.519 188 6/12/2024
2.0.517 177 6/11/2024
2.0.511 181 6/7/2024
2.0.505 228 4/26/2024
2.0.499 205 4/7/2024
2.0.495 192 3/26/2024
2.0.493 199 3/22/2024
2.0.491 186 3/21/2024
2.0.484 198 3/21/2024
2.0.480 209 3/18/2024
2.0.468 221 3/10/2024
2.0.449 196 3/4/2024
2.0.424 201 2/25/2024
2.0.419 186 2/22/2024
2.0.413 184 2/22/2024
2.0.408 192 2/22/2024
2.0.406 198 2/21/2024
2.0.403 198 2/18/2024
2.0.398 202 2/10/2024
2.0.396 178 2/10/2024
2.0.394 191 2/9/2024
2.0.392 158 2/9/2024
2.0.387 198 2/7/2024
2.0.385 181 1/27/2024
2.0.382 183 1/23/2024
2.0.379 243 1/3/2024
2.0.377 210 1/3/2024
2.0.361 240 12/17/2023
2.0.358 194 12/16/2023
2.0.344 212 12/13/2023
2.0.342 226 12/9/2023
2.0.337 187 12/3/2023
2.0.333 209 12/3/2023
2.0.331 190 11/30/2023
2.0.312 180 11/24/2023
2.0.308 189 11/24/2023
2.0.297 200 11/11/2023
2.0.290 197 11/8/2023
2.0.285 202 11/1/2023
2.0.280 205 10/25/2023
2.0.265 252 9/10/2023
2.0.260 271 8/9/2023
2.0.242 282 7/22/2023
2.0.195 260 7/4/2023
2.0.178 382 11/18/2022