UndoEngine UndoEngine UndoEngine UndoEngine Class

Definition

Gibt generische Funktionen zum Rückgängigmachen/Wiederholen zur Entwurfszeit an.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
Vererbung
UndoEngineUndoEngineUndoEngineUndoEngine
Implementiert

Hinweise

Die UndoEngine abstrakte-Klasse stellt zur Entwurfszeit eine Standard Implementierung der Rückgängig-Funktionalität bereit.The UndoEngine abstract class provides a default implementation of undo functionality at design time. Eine Rückgängig-Einheit stellt eine einzelne Einheit von nicht doable work dar.An undo unit represents a single unit of undoable work. Diese Einheit wird einem Stapel hinzugefügt, und der Benutzer kann dann den Stapel durchlaufen, um jede Aktion rückgängig zu machen.This unit is added to a stack and the user can then walk the stack to undo each action. Rückgängig-Einheiten sind in der Regel für ein-/ausschalten vorgesehen. Dies bedeutet, dass die Anwendung durch das doppelte Aufrufen von Rückgängig in den AnfangszustandUndo units typically are designed to toggle, which means that calling undo twice returns the application to its starting state.

Die UndoEngine -Klasse nutzt die folgenden Eigenschaften von Objekten, die im Designer ausgeführt werden:The UndoEngine class takes advantage of the following characteristics of objects running within the designer:

  • Alle interessanten Objekte können vom Designer Lade Modul in einem Format persistent gespeichert werden.All interesting objects can be persisted to some format by the designer loader.

  • Alle-Objekte rufen Benachrichtigungen über Eigenschafts Änderungen auf, wenn eine Eigenschaft geändert wird.All objects raise property-change notifications when a property is changed.

  • IDesignerHostbietet die Idee von Transaktionen, die verwendet werden können, um eine Rückgängig-Aktion zu fabrizieren, die mehrere kleinere Aktionen umfasst.IDesignerHost offers the idea of transactions, which can be used to fabricate an undo action that spans multiple smaller actions.

Mit diesen Features UndoEngine kann alle benötigten rückgängig-Einheiten automatisch fabrizieren.With these features, UndoEngine can fabricate any undo units it needs automatically.

Hinweis

Ändern Sie die Eigenschaftswerte nicht direkt.Do not change property values directly. Die UndoEngine -Klasse erfordert, dass Sie die TypeDescriptor entsprechenden verwenden, um Eigenschaftswerte zu ändern.The UndoEngine class requires you to use the appropriate TypeDescriptor to change property values.

UndoEngineüberwacht auf Änderungs Benachrichtigungen, um rückgängig-Einheiten zu erstellen, und die eigentlichen Einheiten bestehen aus serialisierten Objekt Zuständen.UndoEngine monitors for change notifications to create undo units, and the units themselves consist of serialized object states. In der folgenden Tabelle sind die Dienste aufgeführt, die bei UndoEngine der Erstellung von verfügbar sein müssen.The following table shows the services that must be available when UndoEngine is created.

DienstService BeschreibungDescription
ComponentSerializationService Speichert Eigenschafts-und Objektwerte für eine Komponente vor und nach der Änderung.Saves property and object values for a component before and after a change is made.
IComponentChangeService Benachrichtigt die rückgängig-Engine über Änderungen an-Komponenten.Notifies the undo engine of changes made to components.
IDesignerHost Wird zum Nachverfolgen von Transaktionen verwendet.Used to track transactions.

Hinweis

Da die UndoEngine -Klasse ComponentSerializationService und IComponentChangeServiceerfordert, ist Sie nur zur Entwurfszeit verfügbar.Because the UndoEngine class requires ComponentSerializationService and IComponentChangeService, it is available only at design time.

Die rückgängig-Engine verfolgt Transaktionen und erstellt eine einzelne Rückgängig-Einheit, die eine Transaktion umfasst.The undo engine tracks transactions and creates a single undo unit that encompasses a transaction. Folglich hat die rückgängig-Engine die Kontrolle über die Dauer einer nicht doable-Aktion.As a result, the undo engine has control over the duration of an undoable action. Da auch Transaktionen benannt werden können, erben nicht doable-Aktionen ihre Namen von der aktuellen Transaktion.Also, because transactions can be named, undoable actions inherit their names from the current transaction. Wenn keine Transaktion verfügbar ist und eine Änderung gemeldet wird, erstellt die rückgängig-Engine basierend auf dem Änderungstyp einen rückgängig-Namen (z. b. "Eigenschaft ändern").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'").

Konstruktoren

UndoEngine(IServiceProvider) UndoEngine(IServiceProvider) UndoEngine(IServiceProvider) UndoEngine(IServiceProvider)

Initialisiert eine neue Instanz der UndoEngine-Klasse.Initializes a new instance of the UndoEngine class.

Eigenschaften

Enabled Enabled Enabled Enabled

Aktiviert oder deaktiviert das UndoEngine.Enables or disables the UndoEngine.

UndoInProgress UndoInProgress UndoInProgress UndoInProgress

Gibt an, ob gerade eine Rückgängigaktion ausgeführt wird.Indicates if an undo action is in progress.

Methoden

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

Fügt dem Rückgängigstapel eine UndoEngine.UndoUnit hinzu.Adds an UndoEngine.UndoUnit to the undo stack.

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

Erstellt einen neuen UndoEngine.UndoUnit.Creates a new UndoEngine.UndoUnit.

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

Verwirft eine UndoEngine.UndoUnit.Discards an UndoEngine.UndoUnit.

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

Gibt alle vom UndoEngine verwendeten Ressourcen frei.Releases all resources used by the UndoEngine.

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

Gibt die von UndoEngine verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the UndoEngine and optionally releases the managed resources.

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

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft den angeforderten Dienst ab.Gets the requested service.

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

Ruft den angeforderten Dienst ab.Gets the requested service.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

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

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Löst das Undoing-Ereignis aus.Raises the Undoing event.

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

Löst das Undone-Ereignis aus.Raises the Undone event.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Ereignisse

Undoing Undoing Undoing Undoing

Tritt sofort auf, bevor eine Rückgängigaktion ausgeführt wird.Occurs immediately before an undo action is performed.

Undone Undone Undone Undone

Tritt sofort auf, nachdem eine Rückgängigaktion ausgeführt wurde.Occurs immediately after an undo action is performed.

Gilt für:

Siehe auch