C# 如何轻松还原数据绑定表单上的更改?

C# 如何轻松还原数据绑定表单上的更改?,c#,.net,wpf,data-binding,C#,.net,Wpf,Data Binding,如果我有一个控件数据绑定到实例变量对象的表单,是否有一种方法可以还原用户所做的更改,例如: myLocalObject = DataLayer.GetCurrentState(); 表单的控件(绑定到myLocalObject)是否自动拾取更改 谢谢 查看一下界面。我发现以下方法可以实现此目的: var myLocalObject = DataLayer.GetCurrentState(); LayoutRoot.DataContext = null; LayoutRoot.DataConte

如果我有一个控件数据绑定到实例变量对象的表单,是否有一种方法可以还原用户所做的更改,例如:

myLocalObject = DataLayer.GetCurrentState();
表单的控件(绑定到myLocalObject)是否自动拾取更改


谢谢

查看一下界面。

我发现以下方法可以实现此目的:

var myLocalObject = DataLayer.GetCurrentState();
LayoutRoot.DataContext = null;
LayoutRoot.DataContext = myLocalObject;
出于某种原因,如果我没有将DataContext设置为null,则在恢复更改时,绑定控件不会拾取更改。

您提到的“某些原因”是由于状态对象覆盖了
Equals
。有关解释,请参阅我的帖子:。此外,您的解决方案非常依赖于数据层的具体情况—它不是通用的解决方案。