123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- using System.ComponentModel;
- using System.Windows;
- using System.Windows.Media;
- using ControlzEx.Theming;
- namespace InABox.WPF.Themes
- {
- // public enum ThemeBase
- // {
- // Light,
- // Dark
- // }
-
- public static class ThemeManager
- {
- //private static Theme? _theme;
-
- public static event PropertyChangedEventHandler? StaticPropertyChanged;
-
- private static System.Windows.Media.Color _baseColor = Colors.DarkGreen;
- public static System.Windows.Media.Color BaseColor
- {
- get => _baseColor;
- set
- {
- _baseColor = value;
-
- //_theme = RuntimeThemeGenerator.Current.GenerateRuntimeTheme("Light", _baseColor, false);
- Notify();
- }
- }
-
- private static void Notify()
- {
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(WorkspaceBackgroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(WorkspaceBackgroundBrush)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(WorkspaceForegroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(WorkspaceForegroundBrush)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(BackstageBackgroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(BackstageBackgroundBrush)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(BackstageForegroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(BackstageForegroundBrush)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(SelectedTabItemBackgroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(SelectedTabItemBackgroundBrush)));
-
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(SelectedTabItemForegroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(SelectedTabItemForegroundBrush)));
-
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(SelectionBackgroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(SelectionBackgroundBrush)));
-
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(SelectionForegroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(SelectionForegroundBrush)));
-
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(FilterBackgroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(FilterBackgroundBrush)));
-
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(FilterForegroundColor)));
- StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(nameof(FilterForegroundBrush)));
-
- }
- public static System.Windows.Media.Color WorkspaceBackgroundColor => Colors.White;
- //_baseColor
- //.AdjustHue(0)
- //.AdjustSaturation(-50)
- //.AdjustLightness(95);
- public static System.Windows.Media.Color WorkspaceForegroundColor => WorkspaceBackgroundColor.GetForegroundColor(160);
- public static System.Windows.Media.Color BackstageBackgroundColor => _baseColor
- .AdjustHue(0)
- .AdjustSaturation(0) //(-20)
- .AdjustLightness(0); //(50);
- public static System.Windows.Media.Color BackstageForegroundColor => BackstageBackgroundColor.GetForegroundColor(160);
-
- public static System.Windows.Media.Color SelectedTabItemBackgroundColor => _baseColor
- .AdjustHue(-120)
- .AdjustSaturation(-20)
- .AdjustLightness(20);
- public static System.Windows.Media.Color SelectedTabItemForegroundColor => SelectedTabItemBackgroundColor.GetForegroundColor(160);
- public static System.Windows.Media.Color SelectionBackgroundColor => _baseColor
- .AdjustHue(0)
- .AdjustSaturation(-50)
- .AdjustLightness(20);
- public static System.Windows.Media.Color SelectionForegroundColor => SelectionBackgroundColor.GetForegroundColor(160);
- public static System.Windows.Media.Color FilterBackgroundColor => _baseColor
- .AdjustHue(0)
- .AdjustSaturation(-50)
- .AdjustLightness(90); //(80);
- public static System.Windows.Media.Color FilterForegroundColor => FilterBackgroundColor.GetForegroundColor(160);
-
- public static SolidColorBrush WorkspaceBackgroundBrush => new SolidColorBrush(WorkspaceBackgroundColor);
- public static SolidColorBrush WorkspaceForegroundBrush => new SolidColorBrush(WorkspaceForegroundColor);
-
- public static SolidColorBrush BackstageBackgroundBrush => new SolidColorBrush(BackstageBackgroundColor);
- public static SolidColorBrush BackstageForegroundBrush => new SolidColorBrush(BackstageForegroundColor);
-
- public static SolidColorBrush SelectedTabItemBackgroundBrush => new SolidColorBrush(SelectedTabItemBackgroundColor);
- public static SolidColorBrush SelectedTabItemForegroundBrush => new SolidColorBrush(SelectedTabItemForegroundColor);
-
- public static SolidColorBrush SelectionBackgroundBrush => new SolidColorBrush(SelectionBackgroundColor);
- public static SolidColorBrush SelectionForegroundBrush => new SolidColorBrush(SelectionForegroundColor);
-
- public static SolidColorBrush FilterBackgroundBrush => new SolidColorBrush(FilterBackgroundColor);
- public static SolidColorBrush FilterForegroundBrush => new SolidColorBrush(FilterForegroundColor);
-
- }
- }
|