UndoEngine UndoEngine UndoEngine UndoEngine Class

定義

デザイン時に、汎用の元に戻す/やり直し機能を指定します。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
継承
UndoEngineUndoEngineUndoEngineUndoEngine
実装

注釈

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. 元に戻す単位通常は設計に切り替えるには、つまり、その呼び出し元に戻すが 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 トランザクションは、複数の小さいアクションにまたがる元に戻す操作を作成するために使用できますのアイデアを提供します。IDesignerHost offers the idea of transactions, which can be used to fabricate an undo action that spans multiple smaller actions.

これらの機能とUndoEngine自動的に必要な任意の undo 単位を作成することができます。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クラスが必要ですComponentSerializationServiceIComponentChangeServiceデザイン時にのみ使用可能なは。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(IServiceProvider) UndoEngine(IServiceProvider) UndoEngine(IServiceProvider)

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

プロパティ

Enabled Enabled Enabled Enabled

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

UndoInProgress UndoInProgress UndoInProgress UndoInProgress

かどうか、元に戻す操作が進行状況を示します。Indicates if an undo action is in progress.

メソッド

AddUndoUnit(UndoEngine+UndoUnit) AddUndoUnit(UndoEngine+UndoUnit) AddUndoUnit(UndoEngine+UndoUnit) AddUndoUnit(UndoEngine+UndoUnit)

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

CreateUndoUnit(String, Boolean) CreateUndoUnit(String, Boolean) CreateUndoUnit(String, Boolean) CreateUndoUnit(String, Boolean)

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

DiscardUndoUnit(UndoEngine+UndoUnit) DiscardUndoUnit(UndoEngine+UndoUnit) DiscardUndoUnit(UndoEngine+UndoUnit) DiscardUndoUnit(UndoEngine+UndoUnit)

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

Dispose() Dispose() Dispose() Dispose()

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

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetRequiredService(Type) GetRequiredService(Type) GetRequiredService(Type) GetRequiredService(Type)

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

GetService(Type) GetService(Type) GetService(Type) GetService(Type)

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

GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
OnUndoing(EventArgs) OnUndoing(EventArgs) OnUndoing(EventArgs) OnUndoing(EventArgs)

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

OnUndone(EventArgs) OnUndone(EventArgs) OnUndone(EventArgs) OnUndone(EventArgs)

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

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

イベント

Undoing Undoing Undoing Undoing

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

Undone Undone Undone Undone

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

適用対象

こちらもご覧ください