MetroRadiance
Modern WPF Themes (like Visual Studio 2012 or later).
Install / Use
/learn @Grabacr07/MetroRadianceREADME
MetroRadiance
UI control libraries for create WPF window like Visual Studio 2012/2013/2015.

Installation
Install NuGet package(s).
PM> Install-Package MetroRadiance
- MetroRadiance.Core - MetroRadiance core library.
- MetroRadiance.Chrome - Chrome library for WPF Window.
- MetroRadiance - WPF custom control library.
Features / How to use
MetroRadiance.Core
- DPI / Per-Monitor DPI support
- Get system DPI
- Get monitor DPI from HwndSource or window handle
using MetroRadiance.Interop;
// Get system dpi
var systemDpi = window.GetSystemDpi();
if (PerMonitorDpi.IsSupported)
{
// Get monitor dpi.
var hwndSource = (HwndSource)PresentationSource.FromVisual(this);
var monitorDpi = hwndSource.GetDpi();
}
- Windows theme support
- Get Windows theme (Light or Dark, only Windows 10)
- Get Windows accent color
- Subscribe color change event from Windows
using MetroRadiance.Platform;
// Get Windows accent color
var color = WindowsTheme.GetAccentColor();
// Subscribe accent color change event from Windows theme.
var disposable = WindowsTheme.RegisterAccentColorListener(color =>
{
// apply color to your app.
});
// Unsubscribe color change event.
disposable.Dispose();
- HSV color model support
using MetroRadiance.Media;
// Get Windows accent color (using MetroRadiance.Platform;)
var rgbColor = WindowsTheme.GetAccentColor();
// Convert from RGB to HSV color.
var hsvColor = rgbColor.ToHsv();
hsvColor.V *= 0.8;
// Convert from HSV to RGB color.
var newColor = hsvColor.ToRgb();
MetroRadiance.Chrome
- Add window chrome like Visual Studio to WPF Window
MetroRadiance.Chrome.WindowChrome
<Window xmlns:chrome="http://schemes.grabacr.net/winfx/2014/chrome">
<chrome:WindowChrome.Instance>
<chrome:WindowChrome />
</chrome:WindowChrome.Instance>
</Window>
- Add any UI elements to window chrome
MetroRadiance.Chrome.WindowChrome.Top/.Left/.Right/.Bottom
<Window xmlns:chrome="http://schemes.grabacr.net/winfx/2014/chrome">
<chrome:WindowChrome.Instance>
<chrome:WindowChrome>
<chrome:WindowChrome.Top>
<Border Background="DarkRed"
Padding="24,3"
Margin="8,0"
HorizontalAlignment="Right">
<TextBlock Text="any UI elements"
Foreground="White" />
</Border>
</chrome:WindowChrome.Top>
</chrome:WindowChrome>
</chrome:WindowChrome.Instance>
</Window>

MetroRadiance
- Theme support
// Change theme.
ThemeService.Current.ChangeTheme(Theme.Dark);
// Change theme (sync Windows)
ThemeService.Current.ChangeTheme(Theme.Windows);
// Change Accent
ThemeService.Current.ChangeAccent(Accent.Blue);
// Change accent (sync Windows)
ThemeService.Current.ChangeAccent(Accent.Windows);
// Change accent (from RGB Color)
var accent = Colors.Red.ToAccent();
ThemeService.Current.ChangeAccent(accent);
- Custom controls
- Custom behaviors
- Custom converters
License
This library is under the MIT License (MIT).
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
