Exemplo n.º 1
0
 private void ToHighContrast()
 {
     this.ChangeProperties(
         ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.ApplicationBackground),
         ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemText),
         SystemColors.WindowFrameColor,
         new Thickness(2));
 }
Exemplo n.º 2
0
 protected internal void ToHighContrast()
 {
     if (WindowsVersion.Is10)
     {
         WindowComposition.Disable(this);
     }
     this.ChangeProperties(
         ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.ApplicationBackground),
         ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemText),
         SystemColors.WindowFrameColor,
         this.GetBordersFlagAsThickness(2));
 }
Exemplo n.º 3
0
        protected internal void GetColors(out Color background, out Color foreground)
        {
            var colorPrevalence = WindowsTheme.ColorPrevalence.Current;

            switch (this.ThemeMode)
            {
            case BlurWindowThemeMode.Light:
                background = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.LightChromeMedium);
                foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextLightTheme);
                break;

            case BlurWindowThemeMode.Dark:
                background = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.DarkChromeMedium);
                foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextDarkTheme);
                break;

            case BlurWindowThemeMode.Accent:
                background = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemAccentDark1);
                foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextDarkTheme);
                break;

            case BlurWindowThemeMode.System:
                if (colorPrevalence)
                {
                    background = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemAccentDark1);
                    foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextDarkTheme);
                }
                else if (WindowsTheme.SystemTheme.Current == Platform.Theme.Light)
                {
                    background = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.LightChromeMedium);
                    foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextLightTheme);
                }
                else
                {
                    background = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.DarkChromeMedium);
                    foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextDarkTheme);
                }
                break;

            default:
                if (WindowsTheme.Theme.Current == Platform.Theme.Dark)
                {
                    background = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.DarkChromeMedium);
                    foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextDarkTheme);
                }
                else
                {
                    background = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.LightChromeMedium);
                    foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextLightTheme);
                }
                break;
            }
        }
Exemplo n.º 4
0
        private void ToBlur(bool transparency, bool colorPrevalence)
        {
            var background = colorPrevalence
                ? ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemAccentDark1)
                : ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.DarkChromeMedium);

            if (transparency)
            {
                background.A = (byte)(background.A * 0.8);
            }

            var foreground = ImmersiveColor.GetColorByTypeName(ImmersiveColorNames.SystemTextDarkTheme);

            this.ChangeProperties(background, foreground, Colors.Transparent, new Thickness());
        }
Exemplo n.º 5
0
        public ImmersiveColorSamples()
        {
            InitializeComponent();
            this.DataContext = typeof(ImmersiveColorNames).GetFields(BindingFlags.Static | BindingFlags.Public)
                               .Select(x => (string)x.GetValue(null))
                               .Select(name =>
            {
                var background = new SolidColorBrush(ImmersiveColor.GetColorByTypeName(name));
                var luminocity = Luminosity.FromRgb(background.Color);
                var foreground = new SolidColorBrush(luminocity < 128 ? Colors.White : Colors.Black);

                return(new { name, background, foreground, });
            })
                               .ToArray();
        }