Beispiel #1
0
        public void Initialize()
        {
            DefaultResourceCollection = Application.Current.Resources.MergedDictionaries.ToList();
            DefaultThemeDictionary    = DefaultResourceCollection.Where(i => i.Source.OriginalString.Contains(Regex.Replace(DefaultThemeName, @"\s+", ""))).First();
            DefaultResourcesNumber    = DefaultResourceCollection.Count;

            CacheManager.InitializeDirectory(ThemeFolder);

            LoadThemes();
        }
Beispiel #2
0
        public void ApplyTheme(string name)
        {
            var collection = DefaultResourceCollection.Take(DefaultResourcesNumber).ToList();

            DefaultResourceCollection = null;
            DefaultResourceCollection = new List <ResourceDictionary>(collection);

            if (name != DefaultThemeName && name is null == false && name != string.Empty)
            {
                var resource = GetThemeRecource(name);
                if (resource != null)
                {
                    collection.Add(resource);
                    LastAppliedThemeName = name;
                }
                else
                {
                    LastAppliedThemeName = DefaultThemeName;
                }
            }