PropertyGrid和提供撤消

时间:2010-10-20 06:10:42

标签: .net propertygrid

使用PropertyGrid并传入Object以供用户进行更改时,处理取消/撤消的最佳方法是什么。

如果用户接受mods然后将值更新为原始对象,您是否将原始对象的副本提供给属性网格进行更改?

制作原始设置的副本并传入实时对象,如果取消,请移回原始值?

还是其他一些方法?

1 个答案:

答案 0 :(得分:0)

任何可以工作;对于简单对象,我最常使用的方法(在该场景中)是序列化以创建深度克隆而无需维护任何代码。如果需要撤消,只需反序列化快照。但是,如果要撤消的对象不在已分散在模型上的27个属性和集合中,则此方法效果最佳;在那个场景中,你可能需要做更多的工作。