private void MainWindow_Activated(object?sender, EventArgs e)
        {
            // this app's light/dark theme setting over rides the OS setting
            // so only check if the title bar and borders setting has changed
            PuzzleViewModel vm = (PuzzleViewModel)DataContext;

            vm.AccentTitleBar = WindowsThemeHelper.ShowAccentColorOnTitleBarsAndWindowBorders();
        }
        private void InitializeThemeAndAccent()
        {
            if (WindowsThemeHelper.GetWindowsBaseColor() == ThemeManager.BaseColorDark)
            {
                SetTheme(dark: true);
            }

            ((PuzzleViewModel)DataContext).AccentTitleBar = WindowsThemeHelper.ShowAccentColorOnTitleBarsAndWindowBorders();
        }
        public virtual Theme?GenerateRuntimeThemeFromWindowsSettings(string baseColor, bool isHighContrast, IEnumerable <LibraryThemeProvider> libraryThemeProviders)
        {
            var windowsAccentColor = WindowsThemeHelper.GetWindowsAccentColor();

            if (windowsAccentColor is null)
            {
                return(null);
            }

            var accentColor = windowsAccentColor.Value;

            return(GenerateRuntimeTheme(baseColor, accentColor, isHighContrast, libraryThemeProviders));
        }
Exemple #4
0
 private void ResetTheme()
 {
     if (SystemParameters.HighContrast)
     {
         Theme highContrastBaseType = GetHighContrastBaseType();
         ChangeTheme(highContrastBaseType);
     }
     else
     {
         string baseColor = WindowsThemeHelper.GetWindowsBaseColor();
         ChangeTheme((Theme)Enum.Parse(typeof(Theme), baseColor));
     }
 }
 private void ResetTheme()
 {
     if (WindowsThemeHelper.IsHighContrastEnabled())
     {
         Theme highContrastBaseType = GetHighContrastBaseType();
         ChangeTheme(highContrastBaseType);
     }
     else
     {
         string baseColor = WindowsThemeHelper.GetWindowsBaseColor();
         ChangeTheme((Theme)Enum.Parse(typeof(Theme), baseColor));
     }
 }