interface IUndoRedo {
void Undo(int level);
void Redo(int level);
void InsertObjectforUndoRedo(ChangeRepresentationObject dataobject);
}
ChangeRepresentationObject,推入 RedoStack。ActionType。ActionType。將資料物件推入 UndoStack,清空 RedoStack(新操作切斷重做歷史)。
每次操作前呼叫 InsertObjectforUndoRedo;UI 按鈕綁定 Undo/Redo。
WPF 繪圖程式,支援插入/刪除/移動/調整大小,矩形/多邊形,Canvas 容器。本系列三部曲分別用:單一物件法(本文)、命令模式、備忘錄模式實作。