Пример #1
0
        private static void OnLayoutUpdate(object sender, EventArgs eventArgs)
        {
            var fre = (FrameworkElement)sender;
            var bx  = new Rect(0, 0, fre.ActualWidth, fre.ActualHeight);

            SetIsMouseOver(fre, bx.Contains(MouseInternal.GetPosition(fre)));
        }
Пример #2
0
        private bool IsInsideClick(UIElement uie, MouseButtonEventArgsInt e)
        {
            var isMouseEventSourceHitTestVisible = Popup.IsMouseEventSourceHitTestVisible(uie);
            var queryIsInsideClickEventArgs      = new QueryCloseOnClickEventArgs(_popup, e.OriginalSource);

            QueryCloseOnClick?.Invoke(this, queryIsInsideClickEventArgs);

            if (isMouseEventSourceHitTestVisible == false)
            {
                return(false);
            }

            if (queryIsInsideClickEventArgs.CanClose == false)
            {
                return(true);
            }

            if (ReferenceEquals(uie, _popup.Panel))
            {
                return(false);
            }

            var screenPosition           = e.ScreenPosition;
            var isMouseInsideEventHelper = MouseInternal.IsMouseInsideEventHelper(_popup.TreeMode == PopupTreeMode.Visual ? (UIElement)_popup : _popup.Panel, uie, screenPosition);

            return(isMouseInsideEventHelper);
        }
Пример #3
0
        private void OnDragStarted(object sender, DragStartedRoutedEventArgs e)
        {
            if (IsLocked)
            {
                return;
            }

            var draggableBehavior = e.Behavior;

            if (draggableBehavior.FrameworkElement is ToolBarControl toolBarControl)
            {
                IsDragging       = true;
                _waitCurrentBand = false;

                _dragToolBar           = toolBarControl;
                _relativeMouseLocation = MouseInternal.GetPosition(_dragToolBar);
            }
        }
Пример #4
0
 protected override Point GetMousePosition(FrameworkElement element)
 {
     return(MouseInternal.GetPosition(GetParentStackPanel(element)));
 }