Ejemplo n.º 1
0
        private void OnIsPinnedChanged()
        {
            if (IsPinned)
            {
#if TRACE_DETAILS
                Debug.WriteLine("ToolTip just got pinned");
#endif

                if (_adornerDragDrop is null && _adorner != null)
                {
                    _adornerDragDrop = ControlAdornerDragDrop.Attach(_adorner, _dragGrip);
                }

                StopTimer();
            }
            else
            {
#if TRACE_DETAILS
                Debug.WriteLine("ToolTip just got unpinned");
#endif

                if (_adornerDragDrop != null)
                {
                    ControlAdornerDragDrop.Detach(_adornerDragDrop);
                    _adornerDragDrop = null;
                }

                Hide();
            }

            IsPinnedChanged?.Invoke(this, EventArgs.Empty);
        }
Ejemplo n.º 2
0
        private void RemoveAdorner()
        {
            if (_adorner is null || _adornerLayer is null)
            {
                return;
            }

            if (_adornerDragDrop != null)
            {
                ControlAdornerDragDrop.Detach(_adornerDragDrop);
                _adornerDragDrop = null;
            }

            if (_adornerResizing != null)
            {
                ResizingAdorner.Detach(_adornerResizing);
                _adornerResizing = null;
            }

            _adornerLayer.Remove(_adorner);
            _adorner.Child = null;
            _adorner       = null;
            _adornerLayer  = null;

            RegisterBeingMovedOut();
        }
Ejemplo n.º 3
0
        public void BringToFront()
        {
            if (IsInFront())
            {
                return;
            }

            if (!IsPinned || _adorner is null)
            {
                return;
            }

            if (_adornerDragDrop != null)
            {
                ControlAdornerDragDrop.Detach(_adornerDragDrop);
                _adornerDragDrop = null;
            }

            _adornerLayer.Remove(_adorner);

            var adornedElement = GetAdornerElement();

            if (adornedElement is null)
            {
                return;
            }

            _adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement);
            if (_adornerLayer is null)
            {
                return;
            }

            _adornerLayer.Add(_adorner);
            BringFluentRibbonBackstageToFront(_adornerLayer, adornedElement);

            if (IsPinned && _adornerDragDrop is null)
            {
                _adornerDragDrop = ControlAdornerDragDrop.Attach(_adorner, _dragGrip);
            }

            RegisterBeingInFront();
        }
Ejemplo n.º 4
0
        private void OnIsPinnedChanged()
        {
            if (IsPinned)
            {
                if (_adornerDragDrop == null && _adorner != null)
                {
                    _adornerDragDrop = ControlAdornerDragDrop.Attach(_adorner, _dragGrip);
                }

                StopTimer();
            }
            else
            {
                if (_adornerDragDrop != null)
                {
                    ControlAdornerDragDrop.Detach(_adornerDragDrop);
                    _adornerDragDrop = null;
                }

                Hide();
            }

            IsPinnedChanged.SafeInvoke(this);
        }