Inheritance: System.Windows.Controls.ContentControl
Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        /// <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;
            }
        }
Exemplo n.º 3
0
        /// <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;
            }
        }
Exemplo n.º 4
0
        /// <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();
            }
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
        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);
        }