我在WPF中创建了一个窗口。构造函数采用“ref XmlElement settings”,用于在该窗口中显示信息。
在构造函数中,我克隆这些设置:
_ClonedSettings = (XmlElement)settings.Clone();
我保留了指向原始设置的指针:
_OriginalSettings = settings;
用户界面修改_ClonedSettings
。然后,如果用户点击确定按钮,我想用_ClonedSettings
覆盖原始设置,因此窗口创建者获得正确的值。
如何进行最终复制操作?
答案 0 :(得分:1)
不要使用参考。只需将设置设置为窗口上的公共属性
即可public class SettingsEditor : Window
{
public XmlElement Settings {get;set;}
/*...*/
}
在窗口中,更新设置,例如您已完成的设置。显示窗口后,将设置输出。
/*...*/
var editor = new SettingsEditor { Settings = settings };
editor.ShowDialog();
settings = editor.Settings;
/*...*/
您还可以在窗口上设置DialogResult,以查看编辑器发生了什么......