public override object ProvideValue(IServiceProvider serviceProvider)
        {
            var dst    = serviceProvider.GetService(typeof(IProvideValueTarget)) as IProvideValueTarget;
            var target = dst.TargetObject as FrameworkElement;

            var AcrylicPanel = new AcrylicPanel()
            {
                TintColor    = this.TintColor,
                TintOpacity  = this.TintOpacity,
                NoiseOpacity = this.NoiseOpacity,
                Width        = target.Width,
                Height       = target.Height
            };

            BindingOperations.SetBinding(AcrylicPanel, AcrylicPanel.TargetProperty, new Binding()
            {
                ElementName = this.TargetName
            });
            BindingOperations.SetBinding(AcrylicPanel, AcrylicPanel.SourceProperty, new Binding()
            {
                Source = target
            });

            return(new VisualBrush(AcrylicPanel)
            {
                Stretch = Stretch.None,
                AlignmentX = AlignmentX.Left,
                AlignmentY = AlignmentY.Top,
                ViewboxUnits = BrushMappingMode.Absolute,
            });
        }
Example #2
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     this.Activate();
     #region Iamge
     Image_Change();
     #endregion
     #region Theme
     #region Acrylic
     if (Settings.AcrylicCard)
     {
         Grid[] grids   = new Grid[] { Card_Login, G2, G3, G4 };
         Card[] borders = new Card[] { B1, B2, B3, B4 };
         for (int i = 0; i < grids.Length; i++)
         {
             AcrylicPanel acrylic = new AcrylicPanel();
             acrylic.NoiseOpacity  = 0.02;
             borders[i].Background = new SolidColorBrush(Colors.Transparent);
             acrylic.SetBinding(AcrylicPanel.TargetProperty, new Binding()
             {
                 ElementName = "MainImage"
             });
             grids[i].Background = new SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#26FFFFFF"));
             grids[i].Children.Add(acrylic);
             Panel.SetZIndex(acrylic, 0);
             Label_Name.Foreground = Label_Logined.Foreground = new SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#CCFFFFFF"));
             for (int i1 = 0; i1 < grids[i].Children.Count; i1++)
             {
                 if (!(grids[i].Children[i1] == acrylic))
                 {
                     Panel.SetZIndex(grids[i].Children[i1], 1);
                 }
             }
         }
     }
     #endregion
     #region Color
     Resources.Remove("PrimaryHueMidBrush");
     Resources.Add("PrimaryHueMidBrush", new SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString(Settings.PrimaryHueMidBrush)));
     Resources.Remove("PrimaryHueLightBrush");
     Resources.Add("PrimaryHueLightBrush", new SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString(Settings.PrimaryHueLightBrush)));
     Resources.Remove("PrimaryHueDarkBrush");
     Resources.Add("PrimaryHueDarkBrush", new SolidColorBrush((System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString(Settings.PrimaryHueDarkBrush)));
     #endregion
     if (File.Exists(Settings.Background))
     {
         MainImage.Source = new BitmapImage(new Uri(Settings.Background));
     }
     #endregion
     GC.Collect();
     if (Settings.BGP)
     {
         BGP.Visibility = Visibility.Visible;
     }
     else
     {
         BGP.Visibility = Visibility.Collapsed;
     }
 }