首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 使用單一物件實作 Undo/Redo (2) — 介面定義與 Undo/Redo/Insert 核心邏輯

     編輯:關於C語言

步驟 4:介面定義


interface IUndoRedo {
    void Undo(int level);
    void Redo(int level);
    void InsertObjectforUndoRedo(ChangeRepresentationObject dataobject);
}

步驟 5:核心方法邏輯

Undo(int level)

  1. 檢查 UndoStack 是否為空。
  2. 彈出 ChangeRepresentationObject,推入 RedoStack。
  3. 檢查 ActionType。
  4. 依類型利用物件屬性完成撤銷操作。

Redo(int level)

  1. 檢查 RedoStack 是否為空。
  2. 彈出物件,推入 UndoStack。
  3. 檢查 ActionType。
  4. 依類型完成重做操作。

InsertObjectforUndoRedo

將資料物件推入 UndoStack,清空 RedoStack(新操作切斷重做歷史)。

步驟 6:整合到應用程式

每次操作前呼叫 InsertObjectforUndoRedo;UI 按鈕綁定 Undo/Redo。

示範應用說明

WPF 繪圖程式,支援插入/刪除/移動/調整大小,矩形/多邊形,Canvas 容器。本系列三部曲分別用:單一物件法(本文)、命令模式、備忘錄模式實作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved