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(); }
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; } }