使用PropertyGrid并传入Object以供用户进行更改时,处理取消/撤消的最佳方法是什么。
如果用户接受mods然后将值更新为原始对象,您是否将原始对象的副本提供给属性网格进行更改?
制作原始设置的副本并传入实时对象,如果取消,请移回原始值?
还是其他一些方法?
答案 0 :(得分:0)
任何可以工作;对于简单对象,我最常使用的方法(在该场景中)是序列化以创建深度克隆而无需维护任何代码。如果需要撤消,只需反序列化快照。但是,如果要撤消的对象不在已分散在模型上的27个属性和集合中,则此方法效果最佳;在那个场景中,你可能需要做更多的工作。