/// <summary> /// 初始化BackgroundController对象 /// </summary> private BackgroundController() { UIS = new UISettings(); UIS.ColorValuesChanged += UIS_ColorValuesChanged; if (ApplicationData.Current.LocalSettings.Values["SolidColorType"] is string ColorType) { SolidColorBackgroundBrush = new SolidColorBrush(ColorType.GetColorFromHexString()); } else { if (UIS.GetColorValue(UIColorType.Background) == Colors.White) { SolidColorBackgroundBrush = new SolidColorBrush(Colors.White); } else { SolidColorBackgroundBrush = new SolidColorBrush("#1E1E1E".GetColorFromHexString()); } } if (ApplicationData.Current.LocalSettings.Values["UIDisplayMode"] is int ModeIndex) { switch (ModeIndex) { case 0: { AcrylicBackgroundBrush = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, TintColor = Colors.LightSlateGray, TintOpacity = 0.4, FallbackColor = Colors.DimGray }; CurrentType = BackgroundBrushType.Acrylic; break; } case 1: { AcrylicBackgroundBrush = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, TintColor = Colors.LightSlateGray, TintOpacity = 0.4, FallbackColor = Colors.DimGray }; CurrentType = BackgroundBrushType.SolidColor; if (SolidColorBackgroundBrush.Color == Colors.White && AppThemeController.Current.Theme == ElementTheme.Dark) { AppThemeController.Current.Theme = ElementTheme.Light; } else if (SolidColorBackgroundBrush.Color == Colors.Black && AppThemeController.Current.Theme == ElementTheme.Light) { AppThemeController.Current.Theme = ElementTheme.Dark; } break; } default: { if (WindowsVersionChecker.IsNewerOrEqual(WindowsVersionChecker.Version.Windows10_1903)) { if (double.TryParse(Convert.ToString(ApplicationData.Current.LocalSettings.Values["BackgroundTintOpacity"]), out double TintOpacity)) { if (double.TryParse(Convert.ToString(ApplicationData.Current.LocalSettings.Values["BackgroundTintLuminosity"]), out double TintLuminosity)) { AcrylicBackgroundBrush = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, TintColor = ApplicationData.Current.LocalSettings.Values["AcrylicThemeColor"] is string Color?Color.GetColorFromHexString() : Colors.LightSlateGray, TintOpacity = 1 - TintOpacity, TintLuminosityOpacity = 1 - TintLuminosity, FallbackColor = Colors.DimGray }; } else { AcrylicBackgroundBrush = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, TintColor = ApplicationData.Current.LocalSettings.Values["AcrylicThemeColor"] is string Color?Color.GetColorFromHexString() : Colors.LightSlateGray, TintOpacity = 1 - TintOpacity, FallbackColor = Colors.DimGray }; } } else { AcrylicBackgroundBrush = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, TintColor = Colors.LightSlateGray, TintOpacity = 0.4, FallbackColor = Colors.DimGray }; } } else { if (double.TryParse(Convert.ToString(ApplicationData.Current.LocalSettings.Values["BackgroundTintOpacity"]), out double TintOpacity)) { AcrylicBackgroundBrush = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, TintColor = ApplicationData.Current.LocalSettings.Values["AcrylicThemeColor"] is string Color?Color.GetColorFromHexString() : Colors.LightSlateGray, TintOpacity = 1 - TintOpacity, FallbackColor = Colors.DimGray }; } else { AcrylicBackgroundBrush = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, TintColor = Colors.LightSlateGray, TintOpacity = 0.4, FallbackColor = Colors.DimGray }; } } if (ApplicationData.Current.LocalSettings.Values["CustomUISubMode"] is string SubMode) { CurrentType = (BackgroundBrushType)Enum.Parse(typeof(BackgroundBrushType), SubMode); } break; } } } else { AcrylicBackgroundBrush = new AcrylicBrush { BackgroundSource = AcrylicBackgroundSource.HostBackdrop, TintColor = Colors.LightSlateGray, TintOpacity = 0.4, FallbackColor = Colors.DimGray }; CurrentType = BackgroundBrushType.Acrylic; } }