I have a Window that serves as a dialog in a WPF application. This dialog has an “OK” and a “Cancel” button. I am setting the DataContext of the Window to an instance of an object in my application. The user can change the values of the properties of the object within the Window. If a user clicks “Cancel”, I want to revert the property values back to their original values. Is there an easy way to do this in WPF?
For instance, I know with RIA data services there is RejectChanges. Is there something similar on the client-side with WPF?
Thanks!
In object which is set to DataContext (ideally it should be ViewModel in MVVM approach) expose two commands
Then for the buttons assign these commands like shown below
You’ve to keep two copies of object, a copy should be created by Deep Copy or if an object has a few editable fields you can keep those as class fields. Basically on initialization stage do backup editable object properties, then bind to
DataContexteditable version of object. In Cancel Command handler – restore from a backup copy…