private void ToggleAcrylic(object sender, RoutedEventArgs e) { if (AcrylicToggle.IsChecked == true) Background = new SolidColorBrush(Color.FromArgb(200, 0, 0, 0)); else Background = new SolidColorBrush(Colors.White); }
using System; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Interop; public static class Win11ThemeHelper { public static void ApplyDarkTitleBar(Window window) { var handle = new WindowInteropHelper(window).EnsureHandle(); var attribute = 20; // DWMWA_USE_IMMERSIVE_DARK_MODE bool useDarkMode = IsSystemDarkMode(); DwmSetWindowAttribute(handle, attribute, ref useDarkMode, Marshal.SizeOf(useDarkMode)); } windows desktop runtime 8.0 11
private static bool IsSystemDarkMode() { try { using var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize"); return key?.GetValue("AppsUseLightTheme") is int val && val == 0; } catch { return false; } } } MainWindow.xaml private void ToggleAcrylic(object sender