The Monitored Undo Framework (MUF) is now available on CodePlex!
First of all, I'd like to offer a a big thanks to my client, who allowed me to make this available.
MUF is a library for implementing Undo / Redo. It was written in tandem with a WPF application, but should work ok in Silverlight too.
The "Monitored" part of the name refers to the way it builds the undo / redo stacks. It does so by monitoring the property changes in the model (or view model, or whatever) and adding a change item into the list.
It has some cool features, like
- Batching of changes so that performing an "Undo" will undo a whole set of changes.
- Consolidating multiple changes to a property. (Useful for mouse drag operations with many incremental changes)
- Best of all… It's easy!
Well, I like it. Check it out and let me know what you think! There are some decent unit tests in there that show how it works. I also have some documentation that explains the concepts and usage.