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
{