private void OpenLeftPaneButtonClick(object sender, RoutedEventArgs e)
        {
            Storyboard showPanelAnimation = this.LeftPane.Resources["showLeftPanel"] as Storyboard;
            showPanelAnimation.Begin(this.LeftPane);
           
            var adornerLayer = AdornerLayer.GetAdornerLayer(this.MainScreen);
            if (adornerLayer == null)
                return;

            if (this.adornerContainer == null)
            {
                border = new Border
                {
                    Background = new SolidColorBrush(Colors.Black),
                    Opacity = 0.0
                };
                this.adornerContainer = new AdornerContainer(this.MainScreen) { Child = border };
            }
            adornerLayer.Add(this.adornerContainer);

            var animation = new DoubleAnimation
            {
                To = 0.5,
                Duration = TimeSpan.FromSeconds(0.3)
            };
            this.border.BeginAnimation(OpacityProperty, animation);
            this.isLeftPanelOpen = true;
        }
Esempio n. 2
0
        private static void HighlightUI(UIElement ui, string name)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                RemoveHighlightUi(ui);
                return;
            }

            var binding = BindingOperations.GetBinding(ui, BindingProperty(ui));

            if (binding == null)
            {
                return;
            }

            var bName = binding.Path.Path.Split('.').Last();

            if (bName != name)
            {
                return;
            }

            var al = AdornerLayer.GetAdornerLayer(ui);
            var c  = new AdornerContainer(ui)
            {
                IsHitTestVisible = false,
                Child            = new MandatoryAdorner()
            };

            al?.Add(c);
        }
Esempio n. 3
0
        public static Dialog Show(object content)
        {
            var dialog = new Dialog
            {
                Content = content
            };

            var window = VisualHelper.GetActiveWindow();

            if (window != null)
            {
                var decorator = VisualHelper.GetChild <AdornerDecorator>(window);
                if (decorator != null)
                {
                    if (decorator.Child != null)
                    {
                        decorator.Child.IsEnabled = false;
                    }
                    var layer = decorator.AdornerLayer;
                    if (layer != null)
                    {
                        var container = new AdornerContainer(layer)
                        {
                            Child = dialog
                        };
                        dialog._container = container;
                        layer.Add(container);
                    }
                }
            }

            return(dialog);
        }
Esempio n. 4
0
        private static FloatingBlock CreateBlock(Visual element, AdornerContainer adorner)
        {
            Point position = Mouse.GetPosition(adorner.AdornedElement);
            TranslateTransform translateTransform = new TranslateTransform()
            {
                X = position.X + FloatingBlock.GetHorizontalOffset(element),
                Y = position.Y + FloatingBlock.GetVerticalOffset(element)
            };
            FloatingBlock floatingBlock = new FloatingBlock()
            {
                Content         = FloatingBlock.GetContent(element),
                ContentTemplate = FloatingBlock.GetContentTemplate(element)
            };
            TransformGroup transformGroup = new TransformGroup();

            transformGroup.Children.Add(translateTransform);
            floatingBlock.RenderTransform = transformGroup;
            FloatingBlock   floatingBlock1    = floatingBlock;
            double          totalMilliseconds = FloatingBlock.GetDuration(element).TimeSpan.TotalMilliseconds;
            DoubleAnimation doubleAnimation   = AnimationHelper.CreateAnimation(FloatingBlock.GetToX(element) + translateTransform.X, totalMilliseconds);

            Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[0].(TranslateTransform.X)", new object[0]));
            Storyboard.SetTarget(doubleAnimation, floatingBlock1);
            DoubleAnimation doubleAnimation1 = AnimationHelper.CreateAnimation(FloatingBlock.GetToY(element) + translateTransform.Y, totalMilliseconds);

            Storyboard.SetTargetProperty(doubleAnimation1, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[0].(TranslateTransform.Y)", new object[0]));
            Storyboard.SetTarget(doubleAnimation1, floatingBlock1);
            DoubleAnimation doubleAnimation2 = AnimationHelper.CreateAnimation(0, totalMilliseconds);

            Storyboard.SetTargetProperty(doubleAnimation2, new PropertyPath("Opacity", new object[0]));
            Storyboard.SetTarget(doubleAnimation2, floatingBlock1);
            Storyboard storyboard = new Storyboard();

            storyboard.Completed += new EventHandler((object s, EventArgs e) =>
            {
                AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(element);
                if (adornerLayer != null)
                {
                    adorner.Child = null;
                    adornerLayer.Remove(adorner);
                }
            });
            storyboard.Children.Add(doubleAnimation);
            storyboard.Children.Add(doubleAnimation1);
            storyboard.Children.Add(doubleAnimation2);
            storyboard.Begin();
            return(floatingBlock1);
        }
Esempio n. 5
0
        private void Drawer_Unloaded(object sender, RoutedEventArgs e)
        {
            Loaded -= Drawer_Loaded;

            if (_maskElement != null)
            {
                _maskElement.PreviewMouseLeftButtonDown -= MaskElement_PreviewMouseLeftButtonDown;
            }

            if (_storyboard != null)
            {
                _storyboard.Completed -= Storyboard_Completed;
            }

            _container = null;
        }
Esempio n. 6
0
        private static void Target_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            UIElement uIElement = sender as UIElement;

            if ((uIElement == null ? false : FloatingBlock.GetReadyToFloat(uIElement)))
            {
                AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(uIElement);
                if (adornerLayer != null)
                {
                    AdornerContainer adornerContainer = new AdornerContainer(adornerLayer)
                    {
                        IsHitTestVisible = false,
                    };
                    adornerContainer.Child = FloatingBlock.CreateBlock(uIElement, adornerContainer);
                    adornerLayer.Add(adornerContainer);
                }
                FloatingBlock.SetReadyToFloat(uIElement, false);
            }
        }
        protected override void OnIsSelectedChanged()
        {
            if (this.Visual is null)
            {
                return;
            }

            // Add adorners for the visual this is representing.
            var adornerLayer = AdornerLayer.GetAdornerLayer(this.Visual);

            if (adornerLayer != null &&
                this.Visual is UIElement visualElement)
            {
                if (this.IsSelected &&
                    this.adornerContainer == null)
                {
                    var border = new Border
                    {
                        BorderThickness  = new Thickness(4),
                        IsHitTestVisible = false
                    };

                    var borderColor = new Color
                    {
                        ScA = .3f,
                        ScR = 1
                    };
                    border.BorderBrush = new SolidColorBrush(borderColor);

                    this.adornerContainer = new AdornerContainer(visualElement)
                    {
                        Child = border
                    };
                    adornerLayer.Add(this.adornerContainer);
                }
                else if (this.adornerContainer != null)
                {
                    adornerLayer.Remove(this.adornerContainer);
                    this.adornerContainer.Child = null;
                    this.adornerContainer       = null;
                }
            }
        }
Esempio n. 8
0
        protected override void OnSelectionChanged()
        {
            // Add adorners for the visual this is representing.
            var adorners      = AdornerLayer.GetAdornerLayer(Visual);
            var visualElement = Visual as UIElement;

            Visual root = null;

            if (visualElement != null)
            {
                root = FindRoot(Visual);

                ((UIElement)root).RemoveHandler(UIElement.KeyUpEvent, new KeyEventHandler(OnKeyUp));
            }

            if (adorners != null && visualElement != null)
            {
                if (IsSelected && _adorner == null)
                {
                    ((UIElement)root).AddHandler(UIElement.KeyUpEvent, new KeyEventHandler(OnKeyUp), true);

                    _adorner = new AdornerContainer(visualElement)
                    {
                        Child = new Border
                        {
                            BorderThickness = new Thickness(4),
                            BorderBrush     = new SolidColorBrush(new Color {
                                ScA = .3f, ScR = 1
                            }),
                            IsHitTestVisible = false
                        }
                    };
                    adorners.Add(_adorner);
                }
                else if (_adorner != null)
                {
                    adorners.Remove(_adorner);
                    _adorner.Child = null;
                    _adorner       = null;
                }
            }
        }
        private void HideLeftPanel()
        {
            Storyboard hidePanelAnimation = this.LeftPane.Resources["hideLeftPanel"] as Storyboard;
            hidePanelAnimation.Begin(this.LeftPane);
            this.OpenLeftPaneButton.IsChecked = false;

            var animation = new DoubleAnimation
            {
                To = 0.0,
                Duration = TimeSpan.FromSeconds(0.3)
            };
            this.border.BeginAnimation(OpacityProperty, animation);

            var adornerLayer = AdornerLayer.GetAdornerLayer(this.MainScreen);
            if (this.adornerContainer != null)
            {
                adornerLayer.Remove(this.adornerContainer);
                this.adornerContainer = null;
                this.border = null;
            }
            this.isLeftPanelOpen = false;
        }
Esempio n. 10
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();
            scrollViewer = (TreeListScrollViewer)GetTemplateChild("PART_ScrollViewer");
            var aContainer = new AdornerContainer(this);

            aContainer.Child =
                indicator    =
                    new Border {
                Width               = 16,
                Height              = 4,
                Background          = Brushes.DodgerBlue,
                HorizontalAlignment = HorizontalAlignment.Right,
                VerticalAlignment   = VerticalAlignment.Top,
                ToolTip             = "Current selection"
            };
            indicator.MouseLeftButtonDown +=
                (o, e) => { (MyItemsHost as VirtualizingStackPanel).BringIndexIntoViewPublic(SelectedIndex); };
            ToolTipService.SetInitialShowDelay(indicator, 0);
            indicator.Cursor = Cursors.Hand;
            AdornerLayer.GetAdornerLayer(this).Add(aContainer);
            UpdateIndicator();
        }