diff --git a/src/Avalonia.Controls.DataGrid/DataGrid.cs b/src/Avalonia.Controls.DataGrid/DataGrid.cs index 7e893d131e..fe9656a00b 100644 --- a/src/Avalonia.Controls.DataGrid/DataGrid.cs +++ b/src/Avalonia.Controls.DataGrid/DataGrid.cs @@ -3920,6 +3920,8 @@ namespace Avalonia.Controls dataGridColumn: CurrentColumn, dataGridRow: EditingRow, dataGridCell: editingCell); + + EditingRow.InvalidateDesiredHeight(); } // We're done, so raise the CellEditEnded event diff --git a/src/Avalonia.Controls.DataGrid/DataGridRow.cs b/src/Avalonia.Controls.DataGrid/DataGridRow.cs index 830eff1102..d5115c983a 100644 --- a/src/Avalonia.Controls.DataGrid/DataGridRow.cs +++ b/src/Avalonia.Controls.DataGrid/DataGridRow.cs @@ -767,6 +767,11 @@ namespace Avalonia.Controls } } + internal void InvalidateDesiredHeight() + { + _cellsElement?.InvalidateDesiredHeight(); + } + internal void ResetGridLine() { _bottomGridLine = null; diff --git a/src/Avalonia.Controls.DataGrid/Primitives/DataGridCellsPresenter.cs b/src/Avalonia.Controls.DataGrid/Primitives/DataGridCellsPresenter.cs index 6e0703c90f..c5fe9f0cb2 100644 --- a/src/Avalonia.Controls.DataGrid/Primitives/DataGridCellsPresenter.cs +++ b/src/Avalonia.Controls.DataGrid/Primitives/DataGridCellsPresenter.cs @@ -299,6 +299,11 @@ namespace Avalonia.Controls.Primitives DesiredHeight = 0; } + internal void InvalidateDesiredHeight() + { + DesiredHeight = 0; + } + private bool ShouldDisplayCell(DataGridColumn column, double frozenLeftEdge, double scrollingLeftEdge) { if (!column.IsVisible)