diff --git a/Directory.Build.props b/Directory.Build.props index a771f171..99ad0e38 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -14,5 +14,7 @@ 11.0.0 11.2.8 + 11.1.0-cbuild20250522 + True diff --git a/global.json b/global.json new file mode 100644 index 00000000..9955c471 --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "rollForward": "latestFeature" + } +} diff --git a/src/Avalonia.Controls.TreeDataGrid/Avalonia.Controls.TreeDataGrid.csproj b/src/Avalonia.Controls.TreeDataGrid/Avalonia.Controls.TreeDataGrid.csproj index e1ca2c40..6d59a4b1 100644 --- a/src/Avalonia.Controls.TreeDataGrid/Avalonia.Controls.TreeDataGrid.csproj +++ b/src/Avalonia.Controls.TreeDataGrid/Avalonia.Controls.TreeDataGrid.csproj @@ -1,6 +1,6 @@  - net5.0 + net6.0 True Avalonia.Controls diff --git a/src/Avalonia.Controls.TreeDataGrid/Models/TreeDataGrid/TextCell.cs b/src/Avalonia.Controls.TreeDataGrid/Models/TreeDataGrid/TextCell.cs index 18afebe8..b1881d23 100644 --- a/src/Avalonia.Controls.TreeDataGrid/Models/TreeDataGrid/TextCell.cs +++ b/src/Avalonia.Controls.TreeDataGrid/Models/TreeDataGrid/TextCell.cs @@ -92,8 +92,8 @@ public void BeginEdit() { if (!_isEditing && !IsReadOnly) { - _isEditing = true; _editText = Text; + _isEditing = true; } } @@ -103,6 +103,7 @@ public void CancelEdit() { _isEditing = false; _editText = null; + RaisePropertyChanged(nameof(Value)); } } @@ -114,6 +115,7 @@ public void EndEdit() _isEditing = false; _editText = null; Text = text; + RaisePropertyChanged(nameof(Value)); } } diff --git a/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridTemplateCell.cs b/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridTemplateCell.cs index fb9d07c8..6843889b 100644 --- a/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridTemplateCell.cs +++ b/src/Avalonia.Controls.TreeDataGrid/Primitives/TreeDataGridTemplateCell.cs @@ -104,6 +104,13 @@ protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e } } + protected override void OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs e) + { + base.OnDetachedFromLogicalTree(e); + ContentTemplate = null; + EditingTemplate = null; + } + protected override void OnDataContextChanged(EventArgs e) { base.OnDataContextChanged(e); @@ -121,6 +128,11 @@ protected override void OnDataContextChanged(EventArgs e) ContentTemplate = cell.GetCellTemplate(this); EditingTemplate = cell.GetCellEditingTemplate?.Invoke(this); } + else + { + ContentTemplate = null; + EditingTemplate = null; + } } else {