Teilen über


UndoEngine Klasse

Definition

Gibt generische Funktionen zum Rückgängigmachen/Wiederholen zur Entwurfszeit an.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
Vererbung
UndoEngine
Implementiert

Hinweise

Die UndoEngine abstrakte Klasse bietet eine Standardimplementierung der Rückgängig-Funktionalität zur Entwurfszeit. Eine Undo-Einheit stellt eine einzelne Einheit nicht bearbeitbarer Arbeit dar. Diese Einheit wird einem Stapel hinzugefügt, und der Benutzer kann dann den Stapel durchlaufen, um jede Aktion rückgängig zu machen. Rückgängig-Einheiten sind in der Regel so konzipiert, dass sie umschalten. Dies bedeutet, dass die Anwendung durch zweimaliges Aufrufen des Rückgängigmachens in den Startzustand zurückbegibt.

Die UndoEngine -Klasse nutzt die folgenden Eigenschaften von Objekten, die im Designer ausgeführt werden:

  • Alle interessanten Objekte können vom Designerladeprogramm in einem bestimmten Format beibehalten werden.

  • Alle Objekte lösen Eigenschaftsänderungsbenachrichtigungen aus, wenn eine Eigenschaft geändert wird.

  • IDesignerHost bietet die Idee von Transaktionen, die verwendet werden können, um eine Rückgängigaktion zu erstellen, die mehrere kleinere Aktionen umfasst.

Mit diesen Features UndoEngine können alle benötigten Rückgängig-Einheiten automatisch hergestellt werden.

Hinweis

Ändern Sie Eigenschaftswerte nicht direkt. Die UndoEngine -Klasse erfordert, dass Sie das entsprechende TypeDescriptor verwenden, um Eigenschaftswerte zu ändern.

UndoEngine überwacht, um Änderungsbenachrichtigungen zum Erstellen von Rückgängigeinheiten zu erstellen, und die Einheiten selbst bestehen aus serialisierten Objektzuständen. In der folgenden Tabelle sind die Dienste aufgeführt, die beim UndoEngine Erstellen verfügbar sein müssen.

Dienst BESCHREIBUNG
ComponentSerializationService Speichert Eigenschafts- und Objektwerte für eine Komponente vor und nach einer Änderung.
IComponentChangeService Benachrichtigt die Undo-Engine über Änderungen, die an Komponenten vorgenommen wurden.
IDesignerHost Wird verwendet, um Transaktionen nachzuverfolgen.

Hinweis

Da die UndoEngine Klasse und IComponentChangeServiceerfordertComponentSerializationService, ist sie nur zur Entwurfszeit verfügbar.

Die Undo-Engine verfolgt Transaktionen nach und erstellt eine einzelne Rückgängig-Einheit, die eine Transaktion umfasst. Infolgedessen hat das Rückgängig-Modul die Kontrolle über die Dauer einer nicht rückgängigen Aktion. Da Transaktionen auch benannt werden können, erben unabstellbare Aktionen ihre Namen von der aktuellen Transaktion. Wenn keine Transaktion verfügbar ist und eine Änderung gemeldet wird, erstellt das Undo-Modul einen Rückgängig-Namen basierend auf dem Typ der Änderung (z. B. "Change property 'Text'").

Konstruktoren

UndoEngine(IServiceProvider)

Initialisiert eine neue Instanz der UndoEngine-Klasse.

Eigenschaften

Enabled

Aktiviert oder deaktiviert das UndoEngine.

UndoInProgress

Gibt an, ob gerade eine Rückgängigaktion ausgeführt wird.

Methoden

AddUndoUnit(UndoEngine+UndoUnit)

Fügt dem Rückgängigstapel eine UndoEngine.UndoUnit hinzu.

CreateUndoUnit(String, Boolean)

Erstellt einen neuen UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit)

Verwirft eine UndoEngine.UndoUnit.

Dispose()

Gibt alle vom UndoEngine verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von UndoEngine verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetRequiredService(Type)

Ruft den angeforderten Dienst ab.

GetService(Type)

Ruft den angeforderten Dienst ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnUndoing(EventArgs)

Löst das Undoing-Ereignis aus.

OnUndone(EventArgs)

Löst das Undone-Ereignis aus.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Ereignisse

Undoing

Tritt sofort auf, bevor eine Rückgängigaktion ausgeführt wird.

Undone

Tritt sofort auf, nachdem eine Rückgängigaktion ausgeführt wurde.

Gilt für:

Weitere Informationen