private static void OnIsCloseButtonVisiblePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { GlassPanel gp = d as GlassPanel; if (gp.closeButton != null) { gp.closeButton.Visibility = (bool)e.NewValue ? Visibility.Collapsed : Visibility.Visible; } }
/// <summary> /// IsWidthResizeableProperty property changed handler. /// </summary> /// <param name="d">Window that changed its IsWidthResizeable.</param> /// <param name="e">DependencyPropertyChangedEventArgs.</param> private static void OnResizeablePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { GlassPanel gp = d as GlassPanel; if (gp.ResizeCorner != null) { gp.ResizeCorner.Visibility = (bool)e.NewValue == true ? Visibility.Visible : Visibility.Collapsed; } }
/// <summary> /// VerticalOffsetProperty property changed handler. /// </summary> /// <param name="d">Window that changed its VerticalOffset.</param> /// <param name="e">DependencyPropertyChangedEventArgs.</param> private static void OnVerticalOffsetPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { GlassPanel gp = d as GlassPanel; if (gp.RenderTransform is TranslateTransform) { (gp.RenderTransform as TranslateTransform).Y = (double)e.NewValue; } }
/// <summary> /// IsOpenProperty property changed handler. /// </summary> /// <param name="d">Window that changed its IsOpen.</param> /// <param name="e">DependencyPropertyChangedEventArgs.</param> private static void OnIsOpenPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { GlassPanel gp = d as GlassPanel; bool isOpen = (bool)e.NewValue; gp.Visibility = isOpen ? Visibility.Visible : Visibility.Collapsed; if (isOpen) { gp.OnOpened(); } else { gp.OnClosed(); } }
private void AnimatedScale(object sender, double scale) { GlassPanel gp = sender as GlassPanel; if (gp.layoutRoot != null) { // animation storyboard Storyboard storyboard = new Storyboard(); // the growing part DoubleAnimation growXAnimation = new DoubleAnimation() { To = scale, Duration = TimeSpan.FromSeconds(0.5) }; Storyboard.SetTarget(growXAnimation, ((ScaleTransform)gp.layoutRoot.RenderTransform)); Storyboard.SetTargetProperty(growXAnimation, new PropertyPath("ScaleX")); storyboard.Children.Add(growXAnimation); DoubleAnimation growYAnimation = new DoubleAnimation() { To = scale, Duration = TimeSpan.FromSeconds(0.5) }; Storyboard.SetTarget(growYAnimation, ((ScaleTransform)gp.layoutRoot.RenderTransform)); Storyboard.SetTargetProperty(growYAnimation, new PropertyPath("ScaleY")); storyboard.Children.Add(growYAnimation); if (scale == 0) { storyboard.Completed += new EventHandler(gp.ShrinkAnimation_Completed); } else { storyboard.Completed += new EventHandler(gp.ExpandAnimation_Completed); } storyboard.Begin(); } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); glassPanel = this; layoutRoot = GetTemplateChild("LayoutRoot") as UIElement; contentBorder = GetTemplateChild("ContentBorder") as Border; if (contentBorder != null) { //contentBorder.Background = ContentBackground; //contentBorder.BorderBrush = ContentBackgroundBorder; } closeButton = GetTemplateChild("CloseButton") as Button; if (closeButton != null) { //closeButton.Click += (s, e) => { this.IsOpen = false; }; closeButton.Visibility = IsCloseButtonVisible ? Visibility.Visible : Visibility.Collapsed; closeButton.Click += new RoutedEventHandler(closeButton_Click); //showCloseButton(IsCloseButtonVisible); } this.RenderTransform = new TranslateTransform(); ResizeCorner = GetTemplateChild("ResizeCorner") as UIElement; if (ResizeCorner != null) { if (IsResizeable) { ResizeCorner.MouseLeftButtonDown += Resize_MouseLeftButtonDown; ResizeCorner.MouseEnter += ResizeCorner_MouseEnter; ResizeCorner.MouseLeave += ResizeCorner_MouseLeave; } else { ResizeCorner.Visibility = Visibility.Collapsed; } } titleText = GetTemplateChild("RightSideTabText") as TextBlock; LeftSideTabBorder = GetTemplateChild("LeftSideTabBorder") as UIElement; RightSideTabBorder = GetTemplateChild("RightSideTabBorder") as UIElement; TopBar = GetTemplateChild("TopBar") as UIElement; BottomBar = GetTemplateChild("BottomBar") as UIElement; if (IsDraggable) { if (TopBar != null) { TopBar.MouseLeftButtonDown += DragArea_MouseLeftButtonDown; } if (BottomBar != null) { BottomBar.MouseLeftButtonDown += DragArea_MouseLeftButtonDown; } if (LeftSideTabBorder != null) { LeftSideTabBorder.MouseLeftButtonDown += DragArea_MouseLeftButtonDown; } if (RightSideTabBorder != null) { RightSideTabBorder.MouseLeftButtonDown += DragArea_MouseLeftButtonDown; } } if (LeftSideTabBorder != null) { LeftSideTabBorder.MouseLeftButtonUp += new MouseButtonEventHandler(LeftSideTabBorder_MouseLeftButtonUp); } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); glassPanel = this; layoutRoot = GetTemplateChild("LayoutRoot") as UIElement; contentBorder = GetTemplateChild("ContentBorder") as Border; if (contentBorder != null) { //contentBorder.Background = ContentBackground; //contentBorder.BorderBrush = ContentBackgroundBorder; } closeButton = GetTemplateChild("CloseButton") as Button; if (closeButton != null) { //closeButton.Click += (s, e) => { this.IsOpen = false; }; closeButton.Visibility = IsCloseButtonVisible ? Visibility.Visible : Visibility.Collapsed; closeButton.Click += new RoutedEventHandler(closeButton_Click); //showCloseButton(IsCloseButtonVisible); } this.RenderTransform = new TranslateTransform(); ResizeCorner = GetTemplateChild("ResizeCorner") as UIElement; if (ResizeCorner != null) { if (IsResizeable) { ResizeCorner.MouseLeftButtonDown += Resize_MouseLeftButtonDown; ResizeCorner.MouseEnter += ResizeCorner_MouseEnter; ResizeCorner.MouseLeave += ResizeCorner_MouseLeave; } else ResizeCorner.Visibility = Visibility.Collapsed; } titleText = GetTemplateChild("RightSideTabText") as TextBlock; LeftSideTabBorder = GetTemplateChild("LeftSideTabBorder") as UIElement; RightSideTabBorder = GetTemplateChild("RightSideTabBorder") as UIElement; TopBar = GetTemplateChild("TopBar") as UIElement; BottomBar = GetTemplateChild("BottomBar") as UIElement; if (IsDraggable) { if (TopBar != null) TopBar.MouseLeftButtonDown += DragArea_MouseLeftButtonDown; if (BottomBar != null) BottomBar.MouseLeftButtonDown += DragArea_MouseLeftButtonDown; if (LeftSideTabBorder != null) LeftSideTabBorder.MouseLeftButtonDown += DragArea_MouseLeftButtonDown; if (RightSideTabBorder != null) RightSideTabBorder.MouseLeftButtonDown += DragArea_MouseLeftButtonDown; } if (LeftSideTabBorder != null) LeftSideTabBorder.MouseLeftButtonUp += new MouseButtonEventHandler(LeftSideTabBorder_MouseLeftButtonUp); }