如何使用MVVM取消对对象的编辑?

18 wpf mvvm

如何使用MVVM实现取消编辑对象.

例如:我有一个客户列表.我选择一个客户,单击"编辑"按钮,打开一个对话框窗口(DataContext绑定到CustomerViewModel),然后我开始编辑客户的字段.然后我决定取消编辑,但客户的字段已经更改,那么如何将客户返回到MVVM中的先前状态?

Ken*_*art 12

看看IEditableObject界面.你的Customer类应该实现这一点,你的命令可以执行BeginEdit/ CancelEdit/ EndEdit适当的.

  • @Agies:为什么要downvote?IEditableObject是否是"大量开销"完全取决于您的基础架构或您希望如何实现它.它只是WPF理解的界面.你如何实现它取决于你. (7认同)

小智 5

您可以使用绑定UpdateSourceTrigger=Explicit您可以在此处找到如何实施此操作的更多信息。

  • 好的答案应该更具体,最好包含代码示例。 (2认同)