Avalonia is a mature, cross-platform UI framework for .NET, enabling developers to build desktop, mobile, and web applications with a single codebase. It provides a rich set of controls, a powerful styling system, data binding, animations, and platform-specific backends (Windows, Linux, macOS, Android, iOS, Browser). The architecture is modular: core libraries (Avalonia.Base, Avalonia.Controls) define the property system, layout, input, and rendering, while platform backends implement windowing, graphics (Skia, Vulkan, OpenGL), and accessibility. The framework includes a XAML compiler, source generators, and extensive testing infrastructure. It is actively maintained with a large community and is used in production applications.
MahApps.Metro is a mature WPF UI library that provides a comprehensive set of custom controls, styles, themes, and helpers for building modern desktop applications with a Metro/Windows 10/WinUI aesthetic. The library offers over 30 custom controls including HamburgerMenu, ContentDialog, InfoBar, RangeSlider, NumericUpDown, ColorPicker, AutoSuggestBox, SplitView, and a full dialog system with login, input, message, and progress dialogs. It ships with three visual style sets (Metro, Win10, WinUI) and integrates deeply with the ControlzEx theming framework for runtime theme switching. The architecture is a standard .NET library with a large public API surface exposed via dependency properties, attached properties, custom behaviors, converters, and automation peers. The codebase is heavily tested (350+ NUnit tests) with a custom WindowTestFixture for UI integration tests. Sample applications (MahApps.Metro.Gallery, MahApps.Metro.Demo) demonstrate real-world usage, and project templates (dotnet new) provide scaffolding for new apps. The library also includes project templates (MahAppsMetroApp, MahAppsMetroMvvmApp, MahAppsMetroNavApp) and a Visual Studio manifest. Despite its age and large API surface, the library remains actively maintained with recent commits, issue triage, and support for .NET 6-10. Technical drift is moderate: some obsolete code (ClipBorder) and Win32 P/Invoke are present, and the three style sets must be kept in sync. The test suite is comprehensive but pixel-level and resource-key-dependent, making it somewhat brittle. Overall, this is a high-quality, production-tested UI library with strong architectural patterns and reusable components.
This repository is a comprehensive WPF UI library (WPF-UI) that implements Microsoft's Fluent Design System for Windows Presentation Foundation. It provides over 70 custom controls (NavigationView, ContentDialog, Snackbar, TitleBar, NumberBox, ToggleSwitch, etc.), a full theme management system with dynamic light/dark/high-contrast switching, Win32 interop for modern window chrome and taskbar integration, and a navigation framework with DI support. The library is distributed via NuGet and includes Visual Studio project templates. The codebase is well-structured with a folder-per-control pattern, partial classes for separation of concerns, and extensive use of dependency properties, routed events, and attached behaviors. The core library targets .NET 10/9/8 and .NET Framework 4.6.2β4.8.1, with abstractions targeting .NET Standard 2.0/2.1 for maximum compatibility. The repository also contains a comprehensive demo application (Wpf.Ui.Gallery) that showcases all controls with MVVM (CommunityToolkit.Mvvm), localization, and an embedded Monaco Editor for live code samples. Integration tests using FlaUI and unit tests for animations and symbol extensions are present. The architecture is documented with C4 diagrams and ADRs. The library is actively maintained with frequent commits, CI/CD via GitHub Actions, and responsive issue triage. While the codebase is generally high-quality, there are some work-in-progress controls (TreeGrid), deprecated APIs in ContentDialog, and vendored third-party assets (Monaco Editor) that introduce minor maintenance risks. Overall, this is a strong, production-ready UI library with clean abstractions and several reusable patterns.
ModernWpf is a community-maintained WPF library that ports WinUI (Windows UI Library) controls and Fluent Design styling to the WPF framework. It provides a comprehensive set of modern controls such as NavigationView, TabView, InfoBar, NumberBox, ContentDialog, CommandBarFlyout, ItemsRepeater, and many more, along with light/dark/high-contrast theme resources. The library is published as the NuGet package ModernWpfUI and is designed for both .NET Framework 4.6.2 and modern .NET (8.0, 10.0). The repository includes a full-featured Gallery application demonstrating all controls, extensive test infrastructure with source-audit tests that pin WinUI commit hashes, and a custom dependency property code generator. The architecture is a monolithic library with two main assemblies (ModernWpf and ModernWpf.Controls), plus sample and test projects. The primary data flows are UI events and property changes within the WPF visual tree; there are no data pipelines or research components. The codebase is actively maintained with a large community following, and its quality is high, characterized by systematic porting, automated property generation, and thorough testing.
Files is a modern, open-source Windows file manager built with WinUI 3 and .NET 10, featuring multitabbing, dual-pane navigation, file tags, cloud drive integration, FTP support, Git version control, and a widget-based home page. The architecture is a modular monolith with separate projects for the main app (Files.App), a server component (Files.App.Server), storage abstractions (Files.App.Storage, Files.Core.Storage), a source generator for CsWinRT interop (Files.Core.SourceGenerator), and custom UI controls (Files.App.Controls). The codebase makes heavy use of source-generated P/Invoke via CsWin32, Roslyn source generators for VTable functions and command managers, and the CommunityToolkit.Mvvm pattern with ObservableObject and dependency property source generation. The app supports MSIX packaging, sideload and Store distribution channels, and includes C++/COM components for custom open/save dialogs and a launcher. The last commit was on 2026-06-30, and the project has 44k stars with active CI/CD workflows.
This is Microsoft's open-source Windows Calculator, the production calculator app shipped on Windows. The repository is a full UWP/XAML application with Standard, Scientific, Programmer, Date, Unit Converter, and Graphing modes. The core is split into `CalcManager` (a native C++ calculation engine implementing arbitrary-precision rational arithmetic via the Ratpack library), `CalcViewModel` (C++/CX view models handling history, memory, copy/paste, unit data, navigation, and state snapshots), `Calculator` (the C#/XAML UI shell), and `GraphControl` (a DirectX-based graphing control). The app is MVVM-structured, heavily localized in 25+ languages, and includes both C++ unit tests and WinAppDriver-based UI tests.
Win2D is a production-grade Windows Runtime 2D graphics library that wraps Direct2D, DirectWrite, Direct3D, and WIC into a WinRT API for use in UWP and WinUI3 applications. It provides immediate-mode GPU-accelerated rendering through XAML controls (CanvasControl, CanvasAnimatedControl, CanvasSwapChainPanel), drawing sessions, brushes, geometries, text layout and analysis, SVG documents, printing, and over 70 image effects. The library is packaged as a NuGet package (Microsoft.Graphics.Win2D) and supports C#, C++/CX, C++/WinRT, and VB.NET consumers. Architecturally, Win2D is a WinRT component implemented in C++/WinRT with a DLL entry point (module.cpp) that registers activation factories and telemetry. The core rendering logic lives in winrt/lib/, organized by subsystem: drawing (CanvasDrawingSession, DeviceContextPool), effects (generated wrappers and custom pixel shader support), text (DirectWrite wrappers), geometry, brushes, SVG, printing, and XAML controls. A code generation tool (tools/codegen) produces IDL and effect implementations from XML definitions, ensuring consistency across the large effect surface. The library relies on external dependencies including Direct2D, DirectWrite, Direct3D 11, Windows Imaging Component (WIC), and the Windows App SDK (for WinUI3). Key entry points for developers are the XAML controls (CanvasControl, CanvasAnimatedControl) which provide CreateResources and Draw events, and the CanvasDrawingSession which exposes all drawing operations. The library also includes extensive interop interfaces (ICanvasImageInterop, ICanvasResourceWrapperNative) for integrating with native Direct2D code. Testing is comprehensive, with internal C++ unit tests using mocks/stubs, external integration tests with real devices, and managed C# tests.
This repository is a comprehensive XAML Behaviors library for Avalonia UI, porting the Microsoft.Xaml.Behaviors pattern to the Avalonia framework. It provides a declarative, XAML-friendly way to attach interactive logic (behaviors, triggers, actions) to UI controls without code-behind, covering common patterns such as event handling, data-driven triggers, command invocation, property changes, drag-and-drop, animations, validation, focus management, and more. The library is split into multiple NuGet packages: core interactivity (base classes), interactions (ready-to-use triggers/actions), custom interactions (control-specific behaviors), drag-and-drop, draggable elements, events, animations, responsive layout, scripting, and ReactiveUI integration. A key innovation is the use of Roslyn source generators to produce strongly-typed, reflection-free versions of actions and triggers, improving AOT compatibility and compile-time safety. The architecture follows a layered design: the foundation is the `Avalonia.Xaml.Interactivity` namespace with `Behavior`, `Trigger`, `Action` base classes and the `Interaction` static class for attaching behaviors. On top of that, `Avalonia.Xaml.Interactions.Core` provides common triggers/actions like `EventTriggerBehavior`, `InvokeCommandAction`, `ChangePropertyAction`, and `DataTriggerBehavior`. The `Custom` package adds hundreds of specialized behaviors for controls (e.g., `AutoCompleteBoxOpenDropDownOnFocusBehavior`, `SplitViewStateBehavior`, `FocusTrapBehavior`). Drag-and-drop is handled by a dedicated framework with `DropHandlerBase`, `ManagedDragDropService`, and behaviors like `PanelDragBehavior`. Animations are built using Avalonia's composition API, with helpers like `AnimationFactory` and `FluidMoveAnimation`. The source generators in `Xaml.Behaviors.SourceGenerators` produce typed wrappers from attributes like `[GenerateTypedAction]` and `[GenerateTypedTrigger]`, reducing boilerplate and runtime reflection. Key entry points for consumers are the `Interaction.Behaviors` attached property in XAML, the `Interaction.ExecuteActions` method, and the various behavior/trigger/action classes. The library depends on Avalonia UI (StyledElement, Control, Visual, TopLevel, etc.) and optionally on ReactiveUI. It includes extensive documentation via DocFX, sample applications demonstrating all features, and unit tests using Avalonia's headless testing infrastructure. The codebase is well-structured with clean abstractions, though its large surface area and reliance on internal Avalonia APIs present some maintenance risks.
This is a cross-platform software development kit (SDK) for rendering Adaptive Cardsβa JSON-based card format used by Microsoft products like Teams, Outlook, and Cortana. The repository provides a shared C++ object model for parsing and serializing card definitions, along with platform-specific renderers for Android, iOS, UWP (WinUI), .NET (WPF), and Node.js. It also includes a templating engine for dynamic data binding, a visual designer tool, and multiple test applications. The architecture is a library/framework model: each platform has its own rendering layer that converts the parsed card model into native UI components. The codebase is large and well-organized, with clear separation between the shared model and platform implementations. However, feature parity across platforms is incomplete (e.g., v1.5 features are missing in .NET renderer), and there is significant duplication of logic across platforms, which introduces maintenance risk.
WPFDevelopers is a comprehensive WPF custom control library (NuGet package `WPFDevelopers`) that provides ~50+ themed UI controls, styles, effects, window chrome customization, system tray integration, screen capture, charts, loading indicators, and utility helpers. It also includes a demo application showcasing each control. The library targets a wide range of .NET versions (4.0 through 10.0) and integrates Win32 interop for advanced shell features. While containing some vendored code (Microsoft Expression Blend SDK) and occasional duplication, the library demonstrates solid engineering practices with reusable controls, attached behaviors, and a consistent theming infrastructure. It is actively maintained with CI builds for multiple frameworks.
This repository provides 40+ icon pack libraries for WPF (and UWP) applications under the MahApps.Metro ecosystem. The core architecture defines base classes (PackIconControlBase, PackIconDataFactory, converters) that each icon pack extends with auto-generated code: an enum of icon identifiers (e.g., PackIconFontAwesome6Kind), a PackIcon control, markup extensions, and converters. Icon path data is embedded as JSON resources and loaded via a singleton factory. The code is predominantly auto-generated from upstream icon sets (Font Awesome, Material Design, Bootstrap, etc.), leading to a highly repetitive structure across packs. The library is actively maintained with recent commits, CI/CD pipelines, and semantic versioning. While the code is well-organized and functional, the heavy reliance on code generation reduces craftsmanship in the per-pack files; the genuinely reusable components are the base classes in the Core project, which implement icon scaling, flip, rotation, spin animation, and data loading patterns.
Watt Toolkit (Steam++) is a cross-platform desktop application that serves as a multi-functional game toolbox primarily for Steam users. The system provides network acceleration via a local reverse proxy (YARP-based) with HTTPS interception, DNS analysis, and multiple proxy modes (Hosts, System, PAC, VPN, DNS intercept). It includes plugins for Steam account switching, two-factor authenticator management (import/export/recovery), game library management, ArchiSteamFarm integration for card farming, and game tools. The architecture is a modular plugin system built with Avalonia UI, .NET, and ReactiveUI, using a multi-process IPC model for privilege separation. External dependencies include WinDivert for Windows packet interception, XunYou SDK for game acceleration, and ArchiSteamFarm for automated Steam actions. The codebase demonstrates a complex but functional architecture with significant platform-specific code and some areas of technical debt.
SnapX is a cross-platform screenshot and screen recording tool, forked from ShareX, with extensive upload capabilities to dozens of services (image hosts, file storage, pastebins, URL shorteners). It features image effects (adjustments, filters, manipulations), OCR via PaddleOCR, QR code generation/scanning, hotkey automation, and clipboard monitoring. The application is built with Avalonia UI and .NET 10, targeting Linux, Windows, macOS, and FreeBSD. It includes a CLI, a native messaging host for browser integration, and a comprehensive settings system. The codebase is in early access with many features ported from ShareX but several stubs and incomplete implementations remain, particularly in screen recording, image annotation, and some uploaders. The architecture follows a core library (SnapX.Core) with separate UI (SnapX.Avalonia) and CLI projects, using MVVM pattern and dependency injection. While functional, the project exhibits significant technical debt and incomplete feature parity with its predecessor.
This repository is a vast collection of over 1,800 sample projects demonstrating nearly every feature of the Universal Windows Platform (UWP) SDK. It is not a single application but an educational resource containing hundreds of independent, self-contained samples covering sensors, cameras, networking, graphics, file access, notifications, background tasks, device interactions, and many other Windows APIs. Each sample follows a consistent architectural pattern: a MainPage with a scenario selector and multiple Scenario pages that illustrate specific API usage in C++/CX, C++/WinRT, C#, and occasional JavaScript (largely archived). The samples are designed to be built and run with Visual Studio on Windows 10 and 11, serving as both a learning tool for developers and a reference for API behavior. The codebase is extensive and fairly well-organized by feature area, but it suffers from significant technical drift. Many archived samples use deprecated technologies such as C++/CX (legacy) and WinJS (JavaScript), while newer samples adopt modern C++/WinRT. This inconsistency means that some samples may not compile or behave correctly on the latest Windows SDK without updates. Additionally, the repository lacks a unified build system or automated testing, and it includes a large amount of boilerplate code (e.g., identical SampleConfiguration files across hundreds of projects). Despite these drawbacks, the repository remains actively maintained by Microsoft (last commit within 30 days) and provides genuine value for understanding UWP APIs, with several reusable utility components buried within the samples.
This repository contains a Windows 10 UWP application for Kanban-style task management, accompanied by an ASP.NET Core Web API for remote data storage. The application follows the MVVM pattern with dependency injection via Autofac, supporting multiple database backends (SQLite, MySQL, MSSQL, WebAPI) through an adapter architecture. Features include drag-and-drop task organization, due dates, reminders, OneDrive synchronization via Microsoft Graph, and a compact overlay mode. The project is explicitly marked as unmaintained in the README, with ongoing work on a WinUI3 .NET10 replacement.