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.