UndoEngine Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die generische Funktion 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 von Rückgängig-Funktionen bereit. Eine Rückgängig-Einheit stellt eine einzelne Einheit rückgängiger 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 ein Umschalter erfolgt, d. h., dass das Aufrufen von "Rückgängig" zweimal die Anwendung in den Startzustand zurückgibt.
Die UndoEngine Klasse nutzt die folgenden Merkmale von Objekten, die im Designer ausgeführt werden:
Alle interessanten Objekte können vom Designerladeprogramm auf ein bestimmtes 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ängig-Aktion zu erstellen, die mehrere kleinere Aktionen umfasst.
Mit diesen Features UndoEngine können Sie alle benötigten Rückgängig-Einheiten automatisch erstellen.
Note
Ändern Sie Eigenschaftswerte nicht direkt. Die UndoEngine Klasse erfordert, dass Sie zum Ändern von Eigenschaftswerten die entsprechenden TypeDescriptor Werte verwenden.
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.
| Service | Description |
|---|---|
| ComponentSerializationService | Speichert Eigenschafts- und Objektwerte für eine Komponente vor und nach einer Änderung. |
| IComponentChangeService | Benachrichtigt das Rückgängig-Modul über Änderungen, die an Komponenten vorgenommen wurden. |
| IDesignerHost | Wird zum Nachverfolgen von Transaktionen verwendet. |
Note
Da die UndoEngine Klasse benötigt ComponentSerializationService und IComponentChangeService, ist sie nur zur Entwurfszeit verfügbar.
Das Rückgängig-Modul verfolgt Transaktionen und erstellt eine einzelne Rückgängig-Einheit, die eine Transaktion umfasst. Daher hat das Rückgängig-Modul die Kontrolle über die Dauer einer 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 das Rückgängig-Modul basierend auf dem Änderungstyp einen Rückgängig-Namen (z. B. "Eigenschaft ändern 'Text'").
Konstruktoren
| Name | Beschreibung |
|---|---|
| UndoEngine(IServiceProvider) |
Initialisiert eine neue Instanz der UndoEngine-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Enabled |
Aktiviert oder deaktiviert die UndoEngine. |
| UndoInProgress |
Gibt an, ob eine Rückgängig-Aktion ausgeführt wird. |
Methoden
| Name | Beschreibung |
|---|---|
| AddUndoUnit(UndoEngine+UndoUnit) |
Fügt dem Rückgängig-Stapel einen UndoEngine.UndoUnit Hinzufügt. |
| CreateUndoUnit(String, Boolean) |
Erstellt ein neues UndoEngine.UndoUnit. |
| DiscardUndoUnit(UndoEngine+UndoUnit) |
Verwirft ein UndoEngine.UndoUnit. |
| Dispose() |
Veröffentlicht alle ressourcen, die von der UndoEngine. |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den UndoEngine verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetRequiredService(Type) |
Ruft den angeforderten Dienst ab. |
| GetService(Type) |
Ruft den angeforderten Dienst ab. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der 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
| Name | Beschreibung |
|---|---|
| Undoing |
Tritt unmittelbar vor der Ausführung einer Rückgängig-Aktion auf. |
| Undone |
Tritt unmittelbar nach ausführung einer Rückgängig-Aktion auf. |