示例#1
0
        public static async Task SetTheme(Framework.Themes.Theme theme)
        {
            if (theme == Framework.Themes.Theme.Light)
            {
                if (Application.Current.Properties.ContainsKey(Key_Theme))
                {
                    Application.Current.Properties.Remove(Key_Theme);
                    await Application.Current.SavePropertiesAsync();
                }
                return;
            }

            Application.Current.Properties[Key_Theme] = theme.ToString();
            await Application.Current.SavePropertiesAsync();
        }
示例#2
0
        public void SwitchTheme(Framework.Themes.Theme theme)
        {
            ICollection <ResourceDictionary> mergedDictionaries = Application.Current.Resources.MergedDictionaries;

            if (mergedDictionaries != null)
            {
                mergedDictionaries.Clear();

                switch (theme)
                {
                case Framework.Themes.Theme.Dark:
                    mergedDictionaries.Add(DarkTheme.ResourceDictionary);
                    break;

                case Framework.Themes.Theme.Light:
                default:
                    mergedDictionaries.Add(LightTheme.ResourceDictionary);
                    break;
                }
            }
        }