Browse Source

Merge pull request #10830 from ltetak/fix_drag_resize

DataGrid column resize near edge fix
pull/10874/head
Max Katz 4 years ago
committed by GitHub
parent
commit
269d18e063
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs

11
src/Avalonia.Controls.DataGrid/DataGridColumnHeader.cs

@ -440,13 +440,10 @@ namespace Avalonia.Controls
} }
Debug.Assert(OwningGrid.Parent is InputElement); Debug.Assert(OwningGrid.Parent is InputElement);
double distanceFromLeft = mousePosition.X;
double distanceFromRight = Bounds.Width - distanceFromLeft;
OnMouseMove_Resize(ref handled, mousePositionHeaders); OnMouseMove_Resize(ref handled, mousePositionHeaders);
OnMouseMove_Reorder(ref handled, mousePosition, mousePositionHeaders, distanceFromLeft, distanceFromRight); OnMouseMove_Reorder(ref handled, mousePosition, mousePositionHeaders);
SetDragCursor(mousePosition); SetDragCursor(mousePosition);
} }
@ -716,7 +713,7 @@ namespace Avalonia.Controls
} }
//TODO DragEvents //TODO DragEvents
private void OnMouseMove_Reorder(ref bool handled, Point mousePosition, Point mousePositionHeaders, double distanceFromLeft, double distanceFromRight) private void OnMouseMove_Reorder(ref bool handled, Point mousePosition, Point mousePositionHeaders)
{ {
if (handled) if (handled)
{ {
@ -724,7 +721,7 @@ namespace Avalonia.Controls
} }
//handle entry into reorder mode //handle entry into reorder mode
if (_dragMode == DragMode.MouseDown && _dragColumn == null && _lastMousePositionHeaders != null && (distanceFromRight > DATAGRIDCOLUMNHEADER_resizeRegionWidth && distanceFromLeft > DATAGRIDCOLUMNHEADER_resizeRegionWidth)) if (_dragMode == DragMode.MouseDown && _dragColumn == null && _lastMousePositionHeaders != null)
{ {
var distanceFromInitial = (Vector)(mousePositionHeaders - _lastMousePositionHeaders); var distanceFromInitial = (Vector)(mousePositionHeaders - _lastMousePositionHeaders);
if (distanceFromInitial.Length > DATAGRIDCOLUMNHEADER_columnsDragTreshold) if (distanceFromInitial.Length > DATAGRIDCOLUMNHEADER_columnsDragTreshold)

Loading…
Cancel
Save