|
|
1
1
BindingGroups 不仅用于绑定验证,还可以使用绑定组的beginedit、committedit和canceledit来启用事务逻辑。如果你是一个纯粹的MVVM类型,有一件事可能对你来说是个问题-你很可能会在你的视图中留下一些代码-否则它就像一个魅力。 |
|
|
2
2
你可以看看 Cinch MVVM Framework 萨夏理发师。 它提供“编辑/取消编辑时存储/还原对象状态的IEditableObject用法” |
|
|
3
1
您可以断开其中一个绑定的连接,这样视图中的更改就不会一直传播到模型中,直到您(手动)这样做。这就是你已经做的。您还可以允许更新进行,但如果用户取消,则可以从数据库重新加载对象。 其他选项包括实现IEditableObject,以回滚更改: http://msdn.microsoft.com/en-us/library/system.componentmodel.ieditableobject.aspx 当你试图对不平凡的事物进行深度复制时,这并不总是令人愉快的。 我认为你的解决方案是好的,但我很好奇为什么收藏品会有问题。 |