共用方式為


使用編輯範圍

UsingEditingScope 範例示範如何批次處理一組變更,以便在單一不可部分完成的單位中復原這些變更。 根據預設,活動設計工具作者所執行的動作會自動整合至復原/取消復原系統。

示範

編輯範圍以及恢復與重做。

討論

這個範例示範如何在單一工作單位中批次處理對 ModelItem 樹狀結構的一組變更。 請注意,從 WPF 設計工具直接繫結至 ModelItem 值時,系統會自動套用變更。 這個範例示範當透過命令式程式碼進行多個要批次處理的變更 (而不是單一變更) 時,所必須完成的工作。

在這個範例中,會加入三個活動。 當編輯開始時,會呼叫 BeginEdit 執行個體上的 ModelItem。 在此編輯範圍內,對 ModelItem 樹狀結構的變更會批次處理。 BeginEdit 命令會傳回可用於控制此執行個體的 EditingScope。 可呼叫 OnCompleteOnRevert,以認可或還原編輯範圍。

您也可以巢狀處理 EditingScope 物件,允許在更大的編輯範圍內追蹤多組變更,以及個別控制這些變更。 可能使用此功能的狀況是當來自多個對話方塊的變更必須分別認可或還原,而所有變更是以單一不可部分完成作業的方式來處理。 在這個範例中,編輯範圍是使用 ObservableCollection<T> 類型的 ModelEditingScope 進行追蹤。 使用了 ObservableCollection<T>,如此,可以在設計介面上觀察巢狀深度。

若要安裝、建置及執行範例

  1. 建置及執行範例,然後使用左側按鈕修改工作流程。

  2. 按一下 [開啟編輯範圍]。

    1. 這個命令會呼叫 BeginEdit,用於建立編輯範圍並將其發送至編輯堆疊上。

    2. 三個活動接著會加入至選取的 ModelItem。 請注意,如果編輯範圍尚未使用 BeginEdit 開啟,三個新活動會出現在設計工具畫布上。 因為這項作業在 EditingScope 中仍為暫止,所以設計工具尚未更新。

  3. 按 [關閉編輯範圍] 認可編輯範圍。 三個活動隨即出現在設計工具中。