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 stellt zur Entwurfszeit eine Standardimplementierung der Funktionalität zum Rückgängigmachen bereit. Eine Rückgängig-Einheit stellt eine einzelne Einheit für nicht rückgängig zu machende 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 das zweimal rückgängigmachen die Anwendung in den Startzustand zurückgibt.

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 Benachrichtigungen über Eigenschaftsänderungen aus, wenn eine Eigenschaft geändert wird.

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

Mit diesen Features kann alle Rückgängig-Einheiten erstellt werden, UndoEngine die automatisch benötigt werden.

Hinweis

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

UndoEngine überwacht Änderungsbenachrichtigungen, um Rückgängig-Einheiten 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 Rückgängig-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 Rückgängig-Engine verfolgt Transaktionen nach und erstellt eine einzelne Rückgängig-Einheit, die eine Transaktion umfasst. Daher hat die Rückgängig-Engine die Kontrolle über die Dauer einer nicht rückgängigmachenden Aktion. Da Transaktionen benannt werden können, erben rückgängigmachende Aktionen ihre Namen von der aktuellen Transaktion. Wenn keine Transaktion verfügbar ist und eine Änderung gemeldet wird, erstellt die Rückgängig-Engine einen Rückgängig-Namen basierend auf dem Typ der Änderung (z. B. "Change-Eigenschaft '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