Exemplo n.º 1
0
        bool IsMouseOver(FrameworkElement target)
        {
            var bounds   = VisualTreeHelper.GetDescendantBounds(target);
            var mousePos = MouseUtilities.GetMousePosition(target);

            return(bounds.Contains(mousePos));
        }
Exemplo n.º 2
0
 void UpdateDragAdornerLocation()
 {
     if (_dragAdorner != null)
     {
         var ptCursor         = MouseUtilities.GetMousePosition(ListView);
         var left             = ptCursor.X - _ptMouseDown.X;
         var itemBeingDragged = GetListViewItem(_indexToSelect);
         var itemLoc          = itemBeingDragged.TranslatePoint(new Point(0, 0), ListView);
         var top = itemLoc.Y + ptCursor.Y - _ptMouseDown.Y;
         _dragAdorner.SetOffsets(left, top);
     }
 }
Exemplo n.º 3
0
        AdornerLayer InitializeAdornerLayer(ListViewItem itemToDrag)
        {
            var brush = new VisualBrush(itemToDrag);

            _dragAdorner = new DragAdorner(_listView, itemToDrag.RenderSize, brush)
            {
                Opacity = DragAdornerOpacity
            };

            var layer = AdornerLayer.GetAdornerLayer(_listView);

            layer.Add(_dragAdorner);
            _ptMouseDown = MouseUtilities.GetMousePosition(_listView);
            return(layer);
        }
Exemplo n.º 4
0
        void OnListViewPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (IsMouseOverScrollbar)
            {
                _canInitiateDrag = false;
                return;
            }

            int index = IndexUnderDragCursor;

            _canInitiateDrag = index > -1;

            if (_canInitiateDrag)
            {
                _ptMouseDown   = MouseUtilities.GetMousePosition(_listView);
                _indexToSelect = index;
            }
            else
            {
                _ptMouseDown   = new Point(-10000, -10000);
                _indexToSelect = -1;
            }
        }