UndoEngine クラス

定義

標準の元に戻したりやり直したりするデザイン時の機能を指定します。Specifies generic undo/redo functionality at design time.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
継承
UndoEngine
実装

注釈

UndoEngine抽象クラスは、デザイン時に元に戻す機能の既定の実装を提供します。The UndoEngine abstract class provides a default implementation of undo functionality at design time. 元に戻す単位は、取り消し可能な1つの作業単位を表します。An undo unit represents a single unit of undoable work. この単位がスタックに追加され、ユーザーはスタックをたどって各アクションを元に戻すことができます。This unit is added to a stack and the user can then walk the stack to undo each action. 通常、元に戻す単位は切り替えるように設計されています。つまり、undo を2回呼び出すと、アプリケーションが開始状態に戻ります。Undo units typically are designed to toggle, which means that calling undo twice returns the application to its starting state.

クラスでは、 UndoEngine デザイナー内で実行されているオブジェクトの次の特性を利用します。The UndoEngine class takes advantage of the following characteristics of objects running within the designer:

  • すべての興味深いオブジェクトは、デザイナーローダーによって何らかの形式に永続化できます。All interesting objects can be persisted to some format by the designer loader.

  • プロパティが変更されると、すべてのオブジェクトはプロパティ変更通知を発生させます。All objects raise property-change notifications when a property is changed.

  • IDesignerHost トランザクションの概念を提供します。これを使用すると、複数の小さなアクションにまたがる undo アクションを作成できます。IDesignerHost offers the idea of transactions, which can be used to fabricate an undo action that spans multiple smaller actions.

これらの機能を使用すると、 UndoEngine は自動的に必要な取り消し単位を作成ことができます。With these features, UndoEngine can fabricate any undo units it needs automatically.

注意

プロパティ値は直接変更しないでください。Do not change property values directly. UndoEngineクラスでは、適切なを使用して TypeDescriptor プロパティ値を変更する必要があります。The UndoEngine class requires you to use the appropriate TypeDescriptor to change property values.

UndoEngine 変更通知を監視して取り消し単位を作成します。ユニット自体は、シリアル化されたオブジェクトの状態で構成されます。UndoEngine monitors for change notifications to create undo units, and the units themselves consist of serialized object states. 次の表は、の作成時に使用できる必要があるサービスを示して UndoEngine います。The following table shows the services that must be available when UndoEngine is created.

サービスService 説明Description
ComponentSerializationService 変更の前と後に、コンポーネントのプロパティとオブジェクトの値を保存します。Saves property and object values for a component before and after a change is made.
IComponentChangeService コンポーネントに加えられた変更を元に戻すエンジンに通知します。Notifies the undo engine of changes made to components.
IDesignerHost トランザクションを追跡するために使用されます。Used to track transactions.

注意

クラスには UndoEngine とが必要であるため ComponentSerializationService IComponentChangeService 、デザイン時にのみ使用できます。Because the UndoEngine class requires ComponentSerializationService and IComponentChangeService, it is available only at design time.

元に戻すエンジンは、トランザクションを追跡し、1つのトランザクションを含む単一の undo 単位を作成します。The undo engine tracks transactions and creates a single undo unit that encompasses a transaction. その結果、元に戻すエンジンは、取り消し可能なアクションの期間を制御できます。As a result, the undo engine has control over the duration of an undoable action. また、トランザクションに名前を付けることができるので、取り消し可能なアクションは、現在のトランザクションから名前を継承します。Also, because transactions can be named, undoable actions inherit their names from the current transaction. 使用できるトランザクションがなく、変更が報告された場合は、元に戻すエンジンによって、変更の種類 (たとえば、"プロパティ ' Text ' の変更 ') に基づいて元に戻す名前が作成されます。If no transaction is available and a change is reported, the undo engine creates an undo name based on the type of change (for example, "Change property 'Text'").

コンストラクター

UndoEngine(IServiceProvider)

UndoEngine クラスの新しいインスタンスを初期化します。Initializes a new instance of the UndoEngine class.

プロパティ

Enabled

UndoEngine を有効または無効にします。Enables or disables the UndoEngine.

UndoInProgress

元に戻す操作が実行中であることを示します。Indicates if an undo action is in progress.

メソッド

AddUndoUnit(UndoEngine+UndoUnit)

UndoEngine.UndoUnit を、元に戻すスタックに追加します。Adds an UndoEngine.UndoUnit to the undo stack.

CreateUndoUnit(String, Boolean)

新しい UndoEngine.UndoUnit を作成します。Creates a new UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit)

UndoEngine.UndoUnit を破棄します。Discards an UndoEngine.UndoUnit.

Dispose()

UndoEngine によって使用されているすべてのリソースを解放します。Releases all resources used by the UndoEngine.

Dispose(Boolean)

UndoEngine によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the UndoEngine and optionally releases the managed resources.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetRequiredService(Type)

要求したサービスを取得します。Gets the requested service.

GetService(Type)

要求したサービスを取得します。Gets the requested service.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
OnUndoing(EventArgs)

Undoing イベントを発生させます。Raises the Undoing event.

OnUndone(EventArgs)

Undone イベントを発生させます。Raises the Undone event.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

イベント

Undoing

元に戻す操作が実行される直前に発生します。Occurs immediately before an undo action is performed.

Undone

元に戻す操作が実行された直後に発生します。Occurs immediately after an undo action is performed.

適用対象

こちらもご覧ください