Support Unlimited Linear Undo/Redo Functionality (CTP)

The Undo/Redo Framework provides the infrastructure for supporting unlimited linear Undo/Redo functionality.

Key Features at a Glance

  • Undo/Redo History Stacks – The UndoManager automatically manages the Undo/Redo history stacks. The collections raise change notifications and therefore may be used as a source for providing a UI that displays the entries in the history stacks.
  • Built-In UndoUnits – The framework includes a number of built in undo units that provide support for undoing/redoing property and collection changes.
  • Delegate UndoUnit – The framework makes it easy to add a method/delegate as an operation in the undo/redo history.
  • ObservableCollectionWithUndo – The framework includes a derived ObservableCollection that makes it easier to add support for undo/redo of collection changes.
  • Transactions – Provides the ability to group one or more operations into a single history entry. One may also rollback a transaction performing the operations that were stored up to that point.
  • Custom UndoUnits – The framework allows developers to create their own custom UndoUnit to support undo/redo of other types of operations.
  • Commands – A number of built in commands are provided to make it easier to invoke an Undo/Redo operation from within your UI.