Browse Source

Implemented RefreshCellContent on DataGridTemplateColumn

pull/2109/head
sdoroff 7 years ago
parent
commit
3320605c61
  1. 2
      src/Avalonia.DataGrid/DataGridColumns.cs
  2. 10
      src/Avalonia.DataGrid/DataGridTemplateColumn.cs

2
src/Avalonia.DataGrid/DataGridColumns.cs

@ -1440,7 +1440,7 @@ namespace Avalonia.Controls
DataGridCell dataGridCell = dataGridRow.Cells[dataGridColumn.Index];
Debug.Assert(dataGridCell != null);
if (dataGridCell.Content is Control element)
if (dataGridCell.Content is IControl element)
{
dataGridColumn.RefreshCellContent(element, propertyName);
}

10
src/Avalonia.DataGrid/DataGridTemplateColumn.cs

@ -65,5 +65,15 @@ namespace Avalonia.Controls
{
return null;
}
protected internal override void RefreshCellContent(IControl element, string propertyName)
{
if(propertyName == nameof(CellTemplate) && element.Parent is DataGridCell cell)
{
cell.Content = GenerateElement(cell, cell.DataContext);
}
base.RefreshCellContent(element, propertyName);
}
}
}

Loading…
Cancel
Save