From 047658dd6ba5ed337af0611a6c38215d8ebcc3e0 Mon Sep 17 00:00:00 2001 From: "Alexandre H. T. R. Bonfitto" Date: Thu, 2 Nov 2023 11:14:31 -0300 Subject: [PATCH 1/2] fix: blocks row drag-and-drop if a cell is being edited --- .../Primitives/TreeDataGridRow.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs b/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs index bd6c58d5..57abfab9 100644 --- a/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs +++ b/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs @@ -5,6 +5,7 @@ using Avalonia.Controls.Selection; using Avalonia.Input; using Avalonia.LogicalTree; +using Avalonia.VisualTree; namespace Avalonia.Controls.Primitives { @@ -157,7 +158,8 @@ protected override void OnPointerMoved(PointerEventArgs e) if (!e.GetCurrentPoint(this).Properties.IsLeftButtonPressed || e.Handled || Math.Abs(delta.X) < DragDistance && Math.Abs(delta.Y) < DragDistance || - _mouseDownPosition == s_InvalidPoint) + _mouseDownPosition == s_InvalidPoint || + (CellsPresenter?.GetVisualChildren()?.Any(x => x is TreeDataGridCell c && c.IsEditing) == true)) return; _mouseDownPosition = s_InvalidPoint; From 6437fb0a1dc7ea1ef8532a6bb99d158c9c620b29 Mon Sep 17 00:00:00 2001 From: "Alexandre H. T. R. Bonfitto" Date: Thu, 2 Nov 2023 11:20:12 -0300 Subject: [PATCH 2/2] fix: adds System.Linq to TreeDataGridRow --- src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs b/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs index 57abfab9..a70d6e5a 100644 --- a/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs +++ b/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridRow.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Text; using Avalonia.Controls.Metadata; using Avalonia.Controls.Models.TreeDataGrid;