private VisualTheme BuildTheme(string themeId, string nameResKey, bool lightTheme, Color accentColor) { var backgroundMicaBrush1 = new SolidColorBrush { Color = accentColor, Opacity = 0.35 }; var backgroundMicaBrush2 = new SolidColorBrush { Color = accentColor, Opacity = 0.4 }; var etheme = (lightTheme) ? ElementTheme.Light : ElementTheme.Dark; var descriptionResKey = (lightTheme) ? "ThemeGeneralLightDescription" : "ThemeGeneralDarkDescription"; var theme = new VisualTheme { ThemeId = themeId, FriendlyName = _loader.GetString(nameResKey), Description = _loader.GetString(descriptionResKey), Theme = etheme, SolidBackgroundBrush = new SolidColorBrush(accentColor), BackgroundMicaBrush1 = backgroundMicaBrush1, BackgroundMicaBrush2 = backgroundMicaBrush2, PreviewBrush = new SolidColorBrush(accentColor), BaseThemeBackgroundBrush = etheme == ElementTheme.Dark ? new SolidColorBrush(Color.FromArgb(255, 39, 39, 39)) : new SolidColorBrush(Color.FromArgb(255, 249, 249, 249)) }; return(theme); }
public ThemeChangedEventArgs(VisualTheme theme, VisualTheme actualTheme) { VisualTheme = theme; ActualTheme = actualTheme; }
private VisualTheme BuildTheme(string themeId, string nameResKey, bool lightTheme, Color accentColor) { var backgroundAcrylic = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, FallbackColor = accentColor, TintColor = accentColor, TintOpacity = _settingsViewModel.BackgroundTintOpacity, }; var backgroundAcrylic2 = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, FallbackColor = accentColor, TintColor = accentColor, TintOpacity = (_settingsViewModel.BackgroundTintOpacity + .15) > 1 ? 1 : _settingsViewModel.BackgroundTintOpacity + .15 }; var backgroundAcrylicAccent = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.Backdrop, FallbackColor = accentColor, TintColor = accentColor, TintOpacity = (_settingsViewModel.BackgroundTintOpacity + -.25) < 0 ? 0 : _settingsViewModel.BackgroundTintOpacity - .25 }; var inAppAcrylic = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.Backdrop, FallbackColor = accentColor, TintColor = accentColor, TintOpacity = (_settingsViewModel.BackgroundTintOpacity + .05) > 1 ? 1 : _settingsViewModel.BackgroundTintOpacity + .05 }; var etheme = (lightTheme) ? ElementTheme.Light : ElementTheme.Dark; var descriptionResKey = (lightTheme) ? "ThemeGeneralLightDescription" : "ThemeGeneralDarkDescription"; var theme = new VisualTheme { ThemeId = themeId, FriendlyName = _loader.GetString(nameResKey), Description = _loader.GetString(descriptionResKey), Theme = etheme, BackgroundAcrylicBrush = backgroundAcrylic, BackgroundAcrylicBrush2 = backgroundAcrylic2, BackgroundAcrylicAccent = backgroundAcrylicAccent, InAppAcrylicBrush = inAppAcrylic, SolidBackgroundBrush = new SolidColorBrush(accentColor), PreviewBrush = new SolidColorBrush(accentColor), BaseThemeBackgroundBrush = etheme == ElementTheme.Dark ? new SolidColorBrush(Color.FromArgb(255, 28, 28, 28)) : new SolidColorBrush(Colors.White), }; _settingsViewModel.AfterTintOpacityChanged += theme.UpdateTintOpacity; return(theme); }
private void Fill() { /*Priority Themes*/ //Default: var defPreview = new LinearGradientBrush { StartPoint = new Point(0, 0), EndPoint = new Point(1, 1), }; defPreview.GradientStops.Add(new GradientStop { Color = VisualTheme.DarkColor, Offset = .5d }); defPreview.GradientStops.Add(new GradientStop { Color = VisualTheme.LightColor, Offset = .5d }); var def = new VisualTheme { ThemeId = "default", Description = _loader.GetString("ThemeSystemDescription"), FriendlyName = _loader.GetString("ThemeSystemName"), Theme = ElementTheme.Default, Kind = VisualThemeKind.System, PreviewBrush = defPreview }; _themes.Add(def); //Light _themes.Add(BuildTheme(LIGHT_KEY, "ThemeLightName", true, VisualTheme.LightColor)); //Dark _themes.Add(BuildTheme(DARK_KEY, "ThemeDarkName", false, VisualTheme.DarkColor)); //System Accent Color _themes.Add(BuildTheme("accent", "ThemeAccentName", false, (Color)Resources["SystemAccentColor"])); //Random: var rdmPreview = new LinearGradientBrush { StartPoint = new Point(0, 0), EndPoint = new Point(1, 1), }; rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.Red, Offset = 0d }); rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.Yellow, Offset = .25d }); rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.LightGreen, Offset = .50d }); rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.Teal, Offset = .75d }); rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.Violet, Offset = 1d }); var rdm = new VisualTheme { ThemeId = "random", FriendlyName = _loader.GetString("ThemeRandomName"), Description = _loader.GetString("ThemeRandomDescription"), Theme = ElementTheme.Default, Kind = VisualThemeKind.Random, PreviewBrush = rdmPreview }; _themes.Add(rdm); //Custom light themes: _themes.Add(BuildTheme("chick", "ThemeChickName", true, Color.FromArgb(255, 254, 255, 177))); _themes.Add(BuildTheme("yellow", "ThemeYellowName", true, Color.FromArgb(255, 250, 242, 0))); _themes.Add(BuildTheme("orange", "ThemeOrangeNAme", true, Color.FromArgb(255, 236, 102, 0))); _themes.Add(BuildTheme("lettuce", "ThemeLettuceName", true, Color.FromArgb(255, 177, 234, 175))); _themes.Add(BuildTheme("rosegold", "ThemeRoseGoldName", true, Color.FromArgb(255, 253, 220, 215))); _themes.Add(BuildTheme("apricot", "ThemeApricotName", true, Color.FromArgb(255, 255, 202, 175))); _themes.Add(BuildTheme("mediumpurple", "ThemeMediumPurpleName", true, Color.FromArgb(255, 147, 112, 219))); _themes.Add(BuildTheme("sizzlingred", "ThemeSizzlingRedName", true, Color.FromArgb(255, 240, 93, 94))); _themes.Add(BuildTheme("persimmon", "ThemePersimmonName", true, Color.FromArgb(255, 244, 93, 1))); _themes.Add(BuildTheme("camel", "ThemeCamelName", true, Color.FromArgb(255, 199, 162, 124))); _themes.Add(BuildTheme("middleblue", "ThemeMiddleBlueName", true, Color.FromArgb(255, 126, 212, 230))); _themes.Add(BuildTheme("bronze", "ThemeBronzeName", true, Color.FromArgb(255, 213, 137, 54))); _themes.Add(BuildTheme("mintcream", "ThemeMintCreamName", true, Color.FromArgb(255, 247, 255, 247))); //Custom dark themes: _themes.Add(BuildTheme("cobalt", "ThemeCobaltName", false, Color.FromArgb(255, 38, 44, 255))); _themes.Add(BuildTheme("leaf", "ThemeLeafName", false, Color.FromArgb(255, 56, 111, 54))); _themes.Add(BuildTheme("crimson", "ThemeCrimsonName", false, Color.FromArgb(255, 149, 0, 39))); _themes.Add(BuildTheme("darksienna", "ThemeDarkSiennaName", false, Color.FromArgb(255, 46, 15, 21))); _themes.Add(BuildTheme("iron", "ThemeIronName", false, Color.FromArgb(255, 72, 73, 75))); _themes.Add(BuildTheme("blackcoral", "ThemeBlackCoralName", false, Color.FromArgb(255, 62, 92, 118))); _themes.Add(BuildTheme("hibiscus", "ThemeHibiscusName", false, Color.FromArgb(255, 169, 56, 86))); _themes.Add(BuildTheme("maximumpurple", "ThemeMaximumPurpleName", false, Color.FromArgb(255, 125, 56, 125))); _themes.Add(BuildTheme("darkspringgreen", "ThemeDarkSpringGreenName", false, Color.FromArgb(255, 4, 114, 77))); _themes.Add(BuildTheme("bluemunsell", "ThemeBlueMunsellName", false, Color.FromArgb(255, 44, 140, 153))); _themes.Add(BuildTheme("cedarchest", "ThemeCedarChestName", false, Color.FromArgb(255, 192, 87, 70))); _themes.Add(BuildTheme("raisinblack", "ThemeRaisinBlackName", false, Color.FromArgb(255, 33, 39, 56))); _themes.Add(BuildTheme("rust", "ThemeRustName", false, Color.FromArgb(255, 164, 66, 0))); }
private void Fill() { /*Priority Themes*/ //Default: var defPreview = new LinearGradientBrush { StartPoint = new Point(0, 0), EndPoint = new Point(1, 1), }; defPreview.GradientStops.Add(new GradientStop { Color = VisualTheme.DarkColor, Offset = .5d }); defPreview.GradientStops.Add(new GradientStop { Color = VisualTheme.LightColor, Offset = .5d }); var def = new VisualTheme { ThemeId = "default", Description = _loader.GetString("ThemeSystemDescription"), FriendlyName = _loader.GetString("ThemeSystemName"), Theme = ElementTheme.Default, Kind = VisualThemeKind.System, PreviewBrush = defPreview }; _themes.Add(def); //Light _themes.Add(BuildTheme(LIGHT_KEY, "ThemeLightName", true, VisualTheme.LightColor)); //Dark _themes.Add(BuildTheme(DARK_KEY, "ThemeDarkName", false, VisualTheme.DarkColor)); //System Accent Color _themes.Add(BuildTheme("accent", "ThemeAccentName", false, (Color)Resources["SystemAccentColor"])); //Random: var rdmPreview = new LinearGradientBrush { StartPoint = new Point(0, 0), EndPoint = new Point(1, 1), }; rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.Red, Offset = 0d }); rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.Yellow, Offset = .25d }); rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.LightGreen, Offset = .50d }); rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.Teal, Offset = .75d }); rdmPreview.GradientStops.Add(new GradientStop { Color = Colors.Violet, Offset = 1d }); var rdm = new VisualTheme { ThemeId = "random", FriendlyName = _loader.GetString("ThemeRandomName"), Description = _loader.GetString("ThemeRandomDescription"), Theme = ElementTheme.Default, Kind = VisualThemeKind.Random, PreviewBrush = rdmPreview }; _themes.Add(rdm); //Custom light themes: _themes.Add(BuildTheme("chick", "ThemeChickName", true, Color.FromArgb(255, 254, 255, 177))); _themes.Add(BuildTheme("lettuce", "ThemeLettuceName", true, Color.FromArgb(255, 177, 234, 175))); _themes.Add(BuildTheme("rosegold", "ThemeRoseGoldName", true, Color.FromArgb(255, 253, 220, 215))); _themes.Add(BuildTheme("apricot", "ThemeApricotName", true, Color.FromArgb(255, 255, 202, 175))); _themes.Add(BuildTheme("mediumpurple", "ThemeMediumPurpleName", true, Color.FromArgb(255, 147, 112, 219))); _themes.Add(BuildTheme("sizzlingred", "ThemeSizzlingRedName", true, Color.FromArgb(255, 240, 93, 94))); _themes.Add(BuildTheme("persimmon", "ThemePersimmonName", true, Color.FromArgb(255, 244, 93, 1))); //Custom dark themes: _themes.Add(BuildTheme("cobalt", "ThemeCobaltName", false, Color.FromArgb(255, 0, 71, 171))); _themes.Add(BuildTheme("leaf", "ThemeLeafName", false, Color.FromArgb(255, 56, 111, 54))); _themes.Add(BuildTheme("crimson", "ThemeCrimsonName", false, Color.FromArgb(255, 149, 0, 39))); _themes.Add(BuildTheme("darksienna", "ThemeDarkSiennaName", false, Color.FromArgb(255, 46, 15, 21))); _themes.Add(BuildTheme("blackcoral", "ThemeBlackCoralName", false, Color.FromArgb(255, 62, 92, 118))); _themes.Add(BuildTheme("maximumpurple", "ThemeMaximumPurpleName", false, Color.FromArgb(255, 125, 56, 125))); _themes.Add(BuildTheme("darkspringgreen", "ThemeDarkSpringGreenName", false, Color.FromArgb(255, 4, 114, 77))); }