public static void SetLightTheme() { ITheme theme = _paletteHelper.GetTheme(); IBaseTheme baseTheme = new MaterialDesignLightTheme(); theme.SetBaseTheme(baseTheme); theme.SetPrimaryColor((Color)ColorConverter.ConvertFromString("#7dd8ff")); theme.SetSecondaryColor((Color)ColorConverter.ConvertFromString("#b0e7ff")); _paletteHelper.SetTheme(theme); SetAvalonTheme(false); }
//https://kira-96.github.io/posts/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96Windows10%E4%B8%BB%E9%A2%98%E9%A2%9C%E8%89%B2/ public static void InitTheme() { var paletteHelper = new PaletteHelper(); var isLight = true; try { var registryValue = Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize", "AppsUseLightTheme", null); isLight = Convert.ToBoolean(registryValue); } catch (Exception exception) { MessageBox.Show(exception.ToString()); } IBaseTheme baseTheme; if (isLight) { baseTheme = new MaterialDesignLightTheme(); } else { baseTheme = new MaterialDesignDarkTheme(); } var color = isLight ? Color.FromRgb(66, 133, 244) : Color.FromRgb(130, 168, 231); var theme = Theme.Create(baseTheme, color, color); RequireSystemTheme(theme, isLight); if (!eventInitial) { SystemEvents.UserPreferenceChanged += (sender, args) => { InitTheme(); }; eventInitial = true; } paletteHelper.SetTheme(theme); }
/// <summary> /// Updates the current theme (light/dark). /// </summary> /// <param name="darkMode"></param> public static void UpdateTheme(bool darkMode) { _logger.Debug("Updating theme"); var paletteHelper = new PaletteHelper(); IBaseTheme baseTheme; if (darkMode) { baseTheme = new MaterialDesignDarkTheme(); } else { baseTheme = new MaterialDesignLightTheme(); } ITheme theme = paletteHelper.GetTheme(); theme.SetBaseTheme(baseTheme); paletteHelper.SetTheme(theme); }
private void SetColor(string _colorName, string _theme) { IBaseTheme theme = new MaterialDesignDarkTheme(); MaterialDesignColor materialDesignColor = (MaterialDesignColor)Enum.Parse(typeof(MaterialDesignColor), _colorName); Color primaryColor = SwatchHelper.Lookup[materialDesignColor]; Color accentColor = SwatchHelper.Lookup[materialDesignColor]; switch (_theme) { case "Light": theme = new MaterialDesignLightTheme(); TextView.Foreground = Brushes.Black; break; case "Dark": theme = new MaterialDesignDarkTheme(); TextView.Foreground = Brushes.White; break; } ITheme themes = Theme.Create(theme, primaryColor, accentColor); Resources.SetTheme(themes); }