$ show MahApps/MahApps.Metro
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.
The LLM identified 7 files worth highlighting for reuse:
Provides static boxed instances of `true` and `false` to avoid repeated boxing allocations when setting dependency property values, a common performance pattern in WPF libraries.
Abstract base class that combines `MarkupExtension` and `IValueConverter`, allowing converters to be used directly in XAML without wrapping in a `StaticResource`. Demonstrates a reusable pattern for creating XAML-friendly converters.
Provides static methods for comparing `double` values with tolerance (`AreClose`, `GreaterThan`, `LessThan`), and for rounding and clamping. Essential for WPF layout calculations where exact equality is unreliable.
A `Decorator` that applies a 3D rotation to its child content using `Viewport3D` and quaternions. Reusable as a drop-in wrapper for any WPF element to add 3D tilt effects, demonstrating non-obvious WPF 3D interop.
A custom `Panel` that switches between horizontal and vertical layout orientation based on available space, mimicking the WinUI `InfoBar` notification layout. Reusable for any adaptive layout scenario.
Static utility class with methods to navigate the WPF visual and logical trees: finding ancestors/descendants by type or condition, checking if an element is a visual descendant, etc. A standard reusable helper for any WPF project.
A `Freezable` that stores a reference to any object and can be used as a `Binding` source in XAML to work around WPF's data context scope limitations (e.g., accessing a parent DataContext from within a DataTemplate). Highly reusable pattern.