private static void ForceUpdateColorization() { foreach (var window in Application.Current.Windows.Cast <System.Windows.Window>()) { foreach (var namedSwitch in Colors.AllNamed.Where((Tuple <string, SolidColorSwitch> x) => x.Item2.UseAccentForRGB)) { string resourceName = namedSwitch.Item1; SolidColorSwitch colorSwitch = namedSwitch.Item2; window.Resources[resourceName] = s_theme == Theme.Light ? new SolidColorBrush(ColorizeRGBWithAccent(colorSwitch.LightColorBrush.Color)) : new SolidColorBrush(ColorizeRGBWithAccent(colorSwitch.DarkColorBrush.Color)); } } }
private static void ApplyThemeResources(System.Windows.Window window, Theme theme) { foreach (var namedSwitch in Colors.AllNamed) { string resourceName = namedSwitch.Item1; SolidColorSwitch colorSwitch = namedSwitch.Item2; if (colorSwitch.UseAccentForRGB) { window.Resources[resourceName] = theme == Theme.Light ? new SolidColorBrush(ColorizeRGBWithAccent(colorSwitch.LightColorBrush.Color)) : new SolidColorBrush(ColorizeRGBWithAccent(colorSwitch.DarkColorBrush.Color)); } else { window.Resources[resourceName] = theme == Theme.Light ? colorSwitch.LightColorBrush : colorSwitch.DarkColorBrush; } } }