我有一个要求,我必须实现 3 步保存功能
我有一个 MainView,它分为两部分:
- 左部分有一个
UserControl
里面有一个TreeView
。 - Right Part 有一个
ContentControl
which hostsUserControl
取决于在TreeViewUserControl
.
为了解释 senario,我给你一个例子。
如果我单击叶节点,则将填充 Data UserControl,并为 Model -> ViewModel-> View(UserControl) 填充相应选定 TreeView 项的数据。如果用户更改数据然后保存它必须临时保存,如果用户取消所有更改必须丢弃。将新节点添加到 TreeView 时应演示相同的行为。
只有当用户在 File 菜单中单击 Save 时,数据才会被序列化并保存到磁盘。
此外,如果用户试图离开,我希望阻止他们这样做,直到他们保存或取消他们的更改。
在这样的场景中保存这些数据对象的临时状态时,我遇到了问题。我尝试使用浅拷贝,但这不起作用,因为它只提供主实体的引用(在读取文件时初始化)。
还有其他方法吗?