public static void SetDarkTheme()
        {
            ITheme     theme     = _paletteHelper.GetTheme();
            IBaseTheme baseTheme = new MaterialDesignDarkTheme();

            theme.SetBaseTheme(baseTheme);
            theme.SetPrimaryColor((Color)ColorConverter.ConvertFromString("#243b45"));
            theme.SetSecondaryColor((Color)ColorConverter.ConvertFromString("#3d6475"));
            _paletteHelper.SetTheme(theme);
            SetAvalonTheme(true);
        }
示例#2
0
        //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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
        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);
        }