A comprehensive set of modern, enterprise-ready WPF libraries for building professional desktop applications with the MVVM design pattern.
Atc.Wpf is a four-tier WPF control library: Atc.Wpf (core) → Atc.Wpf.Controls (atomic controls) → Atc.Wpf.Forms (labelled form fields) → Atc.Wpf.Components (composite components). Plus dedicated packages for theming, font icons, network scanning, and undo/redo.
- 📦 Install from NuGet
- 🚀 Quick start guide
- 🎮 Run the sample app:
dotnet run --project sample/Atc.Wpf.Sample
| Section | What's inside |
|---|---|
| 📐 Layouts | GridEx, AutoGrid, FlexPanel, StaggeredPanel, UniformSpacingPanel, VirtualizingStaggeredPanel |
| 🧱 MVVM | ViewModelBase, RelayCommand, source generators via Atc.XamlToolkit |
| 🪄 Source generators | [ObservableProperty], [RelayCommand], [DependencyProperty], [AttachedProperty] |
| 🎨 Theming | Light / Dark + accent color palette, NiceWindow, themed standard controls |
| 🔤 Font icons | FontAwesome 5/7, Material, Octicons, Weather, IcoFont, Bootstrap |
| 📝 Forms | 25+ labelled form field controls with deferred validation |
| 🧩 Components | Dialogs, viewers, monitoring, notifications, settings panels, zoom browser |
| 📊 Data display | Avatar, Badge, Breadcrumb, Card, Carousel, Chip, Divider, Popover, Segmented, Timeline |
| ⌨️ Hotkeys | HotkeyManager, KeyboardHook |
| 🧭 Navigation | Frame / page navigation primitives |
| 🎈 Sample app | Search / TreeView / TabControl interaction model |
The full API reference (auto-generated from XML docs) is in the API Reference tab in the top nav.
<ItemGroup>
<PackageReference Include="Atc.Wpf" Version="2.*" />
<PackageReference Include="Atc.Wpf.Theming" Version="2.*" />
<PackageReference Include="Atc.Wpf.Forms" Version="2.*" />
<PackageReference Include="Atc.Wpf.Components" Version="2.*" />
<PackageReference Include="Atc.Wpf.FontIcons" Version="2.*" />
</ItemGroup>This site is generated with DocFX.
dotnet tool install -g docfx
docfx docfx.json --serveThen open http://localhost:8080.
If you see
IOException: ... _site\toc.html ... being used by another process— that's a previousdocfx --servestill holding files. Stop it (close the previous terminal orCtrl+C), delete the_site/directory, and re-run.If you see
FailedToLoadAnalyzer: Atc.XamlToolkit.SourceGenerators ... ReferencesNewerCompiler— that's expected. DocFX's bundled Roslyn is older than what the source generators target, so generated members ([ObservableProperty],[DependencyProperty], etc.) are missing from API metadata. The site still builds becausedocfx.jsonsetsallowCompilationErrors: true. Will resolve when DocFX upgrades its bundled Roslyn.