internal static void UpdateTheme(ResourceDictionary resourceDictionary, Theme theme)
 {
     ResourceDictionary brushResourceDictionary = resourceDictionary.FindDictionary(BrushDictionaryUri.ToString());
     if (brushResourceDictionary != null)
     {
         if (theme == Theme.Dark)
         {
             brushResourceDictionary.ReplaceDictionary(LightColorDictionaryUri, DarkColorDictionaryUri);
         }
         else
         {
             brushResourceDictionary.ReplaceDictionary(DarkColorDictionaryUri, LightColorDictionaryUri);
         }
     }
     else
     {
         if (theme == Theme.Dark)
         {
             resourceDictionary.MergedDictionaries.Add(
                 new ResourceDictionary()
                 {
                     Source = DarkColorDictionaryUri
                 });
         }
         else
         {
             resourceDictionary.MergedDictionaries.Add(
                 new ResourceDictionary()
                 {
                     Source = LightColorDictionaryUri
                 });
         }
     }
 }
 private static void UpdateColor(ResourceDictionary resourceDictionary, string key, Color color)
 {
     if (color != null && !((color.A == 0) && (color.R == 0) && (color.G == 0) && (color.B == 0)))
     {
         ResourceDictionary brushResourceDictionary = resourceDictionary.FindDictionary(BrushDictionaryUri.ToString());
         if (brushResourceDictionary != null)
         {
             ResourceDictionary oldColorResourceDictionary = brushResourceDictionary.FindDictionary(ColorDictionaryUri.ToString());
             ResourceDictionary colorResourceDictionary = new ResourceDictionary()
                 {
                     Source = ColorDictionaryUri
                 };
             colorResourceDictionary["AccentColor"] = oldColorResourceDictionary["AccentColor"];
             colorResourceDictionary["ContrastColor"] = oldColorResourceDictionary["ContrastColor"];
             colorResourceDictionary["SemitransparentContrastColor"] = oldColorResourceDictionary["SemitransparentContrastColor"];
             colorResourceDictionary[key] = color;
             brushResourceDictionary.ReplaceDictionary(ColorDictionaryUri, colorResourceDictionary);
         }
     }
 }