Atc.Wpf 2.0.665

dotnet add package Atc.Wpf --version 2.0.665
                    
NuGet\Install-Package Atc.Wpf -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" 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" Version="2.0.665" />
                    
Directory.Packages.props
<PackageReference Include="Atc.Wpf" />
                    
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 --version 2.0.665
                    
#r "nuget: Atc.Wpf, 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@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&version=2.0.665
                    
Install as a Cake Addin
#tool nuget:?package=Atc.Wpf&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.

NuGet packages (4)

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

Package Downloads
Atc.Wpf.Controls

A base library for building WPF application.

Atc.Wpf.Theming

A base library for building WPF application with theming.

Atc.Wpf.FontIcons

A base library for building WPF application.

Atc.Wpf.Controls.Sample

A base library for building Sample WPF application.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.665 38 10/19/2025
2.0.664 180 10/6/2025
2.0.659 170 10/2/2025
2.0.657 296 9/15/2025
2.0.651 177 7/14/2025
2.0.647 304 5/13/2025
2.0.646 267 5/12/2025
2.0.642 176 5/7/2025
2.0.640 206 5/5/2025
2.0.638 198 5/4/2025
2.0.636 201 4/22/2025
2.0.631 216 4/10/2025
2.0.627 202 4/5/2025
2.0.626 144 4/5/2025
2.0.624 222 4/3/2025
2.0.621 190 4/2/2025
2.0.618 198 4/1/2025
2.0.605 193 3/26/2025
2.0.599 216 3/17/2025
2.0.597 180 3/17/2025
2.0.596 175 3/16/2025
2.0.595 176 3/16/2025
2.0.594 191 3/16/2025
2.0.593 186 3/16/2025
2.0.592 178 3/16/2025
2.0.582 202 2/19/2025
2.0.581 163 2/19/2025
2.0.580 135 2/19/2025
2.0.579 177 2/19/2025
2.0.578 144 2/18/2025
2.0.574 158 2/16/2025
2.0.569 168 2/16/2025
2.0.568 148 2/16/2025
2.0.565 150 2/15/2025
2.0.563 159 2/15/2025
2.0.562 138 2/12/2025
2.0.561 150 2/10/2025
2.0.547 164 2/9/2025
2.0.545 164 2/8/2025
2.0.534 140 2/8/2025
2.0.530 131 1/19/2025
2.0.524 239 6/13/2024
2.0.519 155 6/12/2024
2.0.517 169 6/11/2024
2.0.511 170 6/7/2024
2.0.505 249 4/26/2024
2.0.499 246 4/7/2024
2.0.495 190 3/26/2024
2.0.493 186 3/22/2024
2.0.484 194 3/21/2024
2.0.480 186 3/18/2024
2.0.468 212 3/10/2024
2.0.449 183 3/4/2024
2.0.424 182 2/25/2024
2.0.419 160 2/22/2024
2.0.413 178 2/22/2024
2.0.408 180 2/22/2024
2.0.406 191 2/21/2024
2.0.403 195 2/18/2024
2.0.398 201 2/10/2024
2.0.396 170 2/10/2024
2.0.394 163 2/9/2024
2.0.392 168 2/9/2024
2.0.387 172 2/7/2024
2.0.385 154 1/27/2024
2.0.382 161 1/23/2024
2.0.379 223 1/3/2024
2.0.377 176 1/3/2024
2.0.361 159 12/17/2023
2.0.358 146 12/16/2023
2.0.344 169 12/13/2023
2.0.342 184 12/9/2023
2.0.337 205 12/3/2023
2.0.333 193 12/3/2023
2.0.331 165 11/30/2023
2.0.312 181 11/24/2023
2.0.308 178 11/24/2023
2.0.297 234 11/11/2023
2.0.290 195 11/8/2023
2.0.285 182 11/1/2023
2.0.280 200 10/25/2023
2.0.265 299 9/10/2023
2.0.260 263 8/9/2023
2.0.242 288 7/22/2023
2.0.195 241 7/4/2023
2.0.178 809 11/18/2022
2.0.176 422 11/16/2022
2.0.174 406 11/16/2022
2.0.168 512 11/13/2022
2.0.164 483 11/10/2022
2.0.162 450 11/8/2022
2.0.160 459 11/7/2022
2.0.128 572 10/17/2022
2.0.125 503 10/15/2022
2.0.119 524 10/14/2022
2.0.115 505 10/13/2022
2.0.107 504 10/13/2022
2.0.104 506 10/12/2022
2.0.100 531 10/11/2022
2.0.89 501 10/9/2022
2.0.78 467 10/6/2022
2.0.75 514 10/3/2022
2.0.72 499 10/2/2022
2.0.60 550 9/26/2022
2.0.51 576 9/22/2022
2.0.49 503 9/22/2022
2.0.27 544 9/12/2022
2.0.21 587 8/29/2022
2.0.10 673 2/20/2022
1.0.137 584 11/2/2021
1.0.126 600 4/25/2021
1.0.124 481 4/24/2021
1.0.121 468 4/12/2021
1.0.101 477 4/7/2021
1.0.99 481 4/6/2021
1.0.97 516 4/5/2021
1.0.82 546 3/11/2021
1.0.80 512 3/9/2021
1.0.75 544 3/8/2021
1.0.72 474 3/4/2021
1.0.68 477 3/1/2021