UndoEngine 類別
本文內容
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定設計階段的一般復原/取消復原功能。
public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
- 繼承
-
UndoEngine
- 實作
UndoEngine抽象類會在設計時間提供復原功能的預設實作。 復原單位代表單一可復原工作單位。 此單元會新增至堆疊,然後使用者可以逐步執行堆疊以復原每個動作。 復原單位通常設計為切換,這表示呼叫復原兩次會將應用程式傳回其啟動狀態。
類別 UndoEngine 會利用設計工具內執行之物件的下列特性:
所有有趣的物件都可以由設計工具載入器保存到某些格式。
當屬性變更時,所有物件都會引發屬性變更通知。
IDesignerHost 提供交易的概念,可用來產生跨越多個較小動作的復原動作。
透過這些功能, UndoEngine 可以自動產生它所需的任何復原單位。
注意
請勿直接變更屬性值。 類別 UndoEngine 會要求您使用適當的 TypeDescriptor 變更屬性值。
UndoEngine 監視變更通知以建立復原單位,而單位本身是由串行化對象狀態所組成。 下表顯示建立時 UndoEngine 必須可用的服務。
服務 | 描述 |
---|---|
ComponentSerializationService | 儲存變更前後元件的屬性和物件值。 |
IComponentChangeService | 通知復原引擎對元件所做的變更。 |
IDesignerHost | 用來追蹤交易。 |
注意
因為類別 UndoEngine 需要 ComponentSerializationService 和 IComponentChangeService,所以只能在設計時間使用。
復原引擎會追蹤交易,並建立包含交易的單一復原單位。 因此,復原引擎可控制可復原動作的持續時間。 此外,因為交易可以命名,所以可復原的動作會繼承其目前交易的名稱。 如果沒有交易可用且回報變更,復原引擎會根據變更類型建立復原名稱 (,例如“Change 屬性 'Text'”) 。
Undo |
初始化 UndoEngine 類別的新執行個體。 |
Enabled |
啟用或停用 UndoEngine。 |
Undo |
指出復原動作是否在進行中。 |
Add |
將 UndoEngine.UndoUnit 加入至復原堆疊。 |
Create |
建立新的 UndoEngine.UndoUnit。 |
Discard |
|
Dispose() |
釋放 UndoEngine 所使用的所有資源。 |
Dispose(Boolean) |
釋放 UndoEngine 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Get |
做為預設雜湊函式。 (繼承來源 Object) |
Get |
取得所要求的服務。 |
Get |
取得所要求的服務。 |
Get |
取得目前執行個體的 Type。 (繼承來源 Object) |
Memberwise |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
On |
引發 Undoing 事件。 |
On |
引發 Undone 事件。 |
To |
傳回代表目前物件的字串。 (繼承來源 Object) |
產品 | 版本 |
---|---|
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |