From 36147de7d8ac3e89eff43bfe00fe9c6dfbc15d4e Mon Sep 17 00:00:00 2001 From: sdoroff Date: Tue, 7 Jul 2020 00:01:48 -0400 Subject: [PATCH] fix datagrid row height --- src/Avalonia.Controls.DataGrid/DataGrid.cs | 2 ++ src/Avalonia.Controls.DataGrid/DataGridRow.cs | 5 +++++ .../Primitives/DataGridCellsPresenter.cs | 5 +++++ 3 files changed, 12 insertions(+) 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)