public static void CreateAccentColorResourceDictionary(this Color color, string controlName) { var accentColor = Application.Current.TryFindResource(controlName.GetAccentBrushName()) as SolidColorBrush; if (accentColor != null) { return; } if (_accentColorResourceDictionary != null) { _accentColorResourceDictionary.AddResources(color, controlName); } var resourceDictionary = new ResourceDictionary(); resourceDictionary.AddResources(color, controlName); var application = Application.Current; var applicationResources = application.Resources; applicationResources.MergedDictionaries.Insert(0, resourceDictionary); _accentColorResourceDictionary = resourceDictionary; }