Esempio n. 1
0
        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
                    });
                }
            }
        }
Esempio n. 2
0
 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);
         }
     }
 }