这是我的问题:
我有一个实现了INotifyPropertyChanged的CustomObj,一个UserControl和一个Window,两者都将使用CustomObj作为DataContext。在UserControl中有一个编辑按钮,单击该按钮可以使用ShowDialog本机方法打开CustomObj的编辑窗口。
我的问题是我想在我的窗口中编辑CustomObj,如果用户点击“保存”,则只反映我的UserControl上的更改,另一方面,如果用户点击“取消”,则不会对其进行任何更改。 UserControl中的CustomObj。
当我将CustomObj作为参数传递给Window时(我将它传递给Window构造函数)仍然绑定到UserControl中的CustomObj,因此,我在Window中所做的所有更改都发生了立即反映在UserControl中的对象上。
我试图实例化一个新对象,解绑DataContext并且没有任何作用...我不想创建一个新的CustomObj并重建每个属性,因为这个对象是一个非常复杂和广泛的对象。
有更好的方法吗?
由于