private void Move() { if ((DoubleUtil.IsZero(_draggingContainer.ActualWidth) || DoubleUtil.IsZero(_draggingContainer.ActualHeight)) && _draggingContainer.ItemContainerGenerator.Status != GeneratorStatus.ContainersGenerated) { return; } var screenPos = new Win32.POINT(); if (!Win32.GetCursorPos(ref screenPos)) { return; } var draggingPoint = _treeView.PointFromScreen(new Point(screenPos.X, screenPos.Y)); if (DoubleUtil.GreaterThan(draggingPoint.X, _treeView.ActualWidth) || DoubleUtil.LessThan(draggingPoint.X, 0) || DoubleUtil.LessThan(draggingPoint.Y, 0) || DoubleUtil.GreaterThan(draggingPoint.Y, _treeView.ActualHeight)) { _overDragArea = OverlapArea.Out; OnOverlapItem?.Invoke(_overDragArea, _overlapItem, _draggingContainer); return; } _overlapItem = GetOverlapItem(_treeView, draggingPoint); OnOverlapItem?.Invoke(_overDragArea, _overlapItem, _draggingContainer); }
private void Move() { if (DoubleUtil.IsZero(_draggingContainer.ActualWidth) || DoubleUtil.IsZero(_draggingContainer.ActualHeight)) { return; } var screenPos = new Win32.POINT(); if (!Win32.GetCursorPos(ref screenPos)) { return; } var draggingPoint = _itemsControl.PointFromScreen(new Point(screenPos.X, screenPos.Y)); if (DoubleUtil.GreaterThan(draggingPoint.X, _itemsControl.ActualWidth) || DoubleUtil.LessThan(draggingPoint.X, 0) || DoubleUtil.LessThan(draggingPoint.Y, 0) || DoubleUtil.GreaterThan(draggingPoint.Y, _itemsControl.ActualHeight)) { _overDragArea = OverlapArea.Out; OnOverlapItem?.Invoke(_overDragArea, _overlapItem, _draggingContainer); return; } _overlapItem = GetOverlapItem(_itemsControl, draggingPoint); OnOverlapItem?.Invoke(_overDragArea, _overlapItem, _draggingContainer); }