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. 실행 취소 단위를 취소할 수 있는 작업의 단일 단위를 나타냅니다.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 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 자동으로 필요한 모든 실행 취소 단위를 만들 수 있습니다.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.

실행 취소 엔진 거래를 추적 하 고, 트랜잭션을 포함 하는 하나의 실행 취소 단위를 만듭니다.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. 트랜잭션이 없습니다. 사용할 수 있고 변경 보고, 실행 취소 엔진 변경 (예를 들어, "Change property '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.

적용 대상

추가 정보