Freigeben über


Bereitstellen von Rückgängig-Unterstützung für Designer

Designer wie Editoren müssen in der Regel Rückgängig-Vorgänge unterstützen, damit Benutzer ihre letzten Änderungen beim Ändern eines Codeelements rückgängig machen können.

Die meisten in Visual Studio implementierten Designer verfügen automatisch über "Rückgängig"-Unterstützung, die von der Umgebung bereitgestellt wird.

Designerimplementierungen, die Unterstützung für das Rückgängig-Feature bereitstellen müssen:

Weitere Informationen zum Schreiben von Designern mit .NET Framework finden Sie unter Erweitern der Entwurfszeitunterstützung.

Das Visual Studio SDK bietet eine Standardmäßige Rückgängig-Infrastruktur durch:

Automatisches Abrufen des Rückgängig-Supports

Jeder in Visual Studio erstellte Designer unterstützt automatisch und vollständig rückgängig, wenn der Designer:

  • Verwendet eine Control basierte Klasse für die Benutzeroberfläche.

  • Verwendet standardmäßiges CodeDOM-basiertes Codegenerierungs- und Analysesystem für die Codegenerierung und Persistenz.

    Weitere Informationen zum Arbeiten mit der Visual Studio CodeDOM-Unterstützung finden Sie unter Dynamische Quellcodegenerierung und Kompilierung.

Verwendung der expliziten Designer-Rückgängig-Unterstützung

Designer müssen ihre eigene Rückgängig-Verwaltung bereitstellen, wenn sie eine grafische Benutzeroberfläche verwenden, die als Ansichtsadapter bezeichnet wird, außer dem von ihnen bereitgestellten Control.

Ein Beispiel hierfür könnte das Erstellen eines Produkts mit einer webbasierten grafischen Entwurfsschnittstelle anstelle einer .NET Framework-basierten grafischen Schnittstelle sein.

In solchen Fällen müsste man diesen Ansichtsadapter mit Visual Studio registrieren ProvideViewAdapterAttributeund eine explizite Rückgängig-Verwaltung bereitstellen.

Designer müssen CodeDOM- und Persistenzunterstützung bereitstellen, wenn sie das visual Studio-Codegenerierungsmodell nicht im System.CodeDom Namensraum verwenden.

Rückgängigmachen der Supportfeatures des Designers

Das Environment SDK bietet Standardimplementierungen von Schnittstellen, die erforderlich sind, um Rückgängig-Unterstützung bereitzustellen, die von Designern verwendet werden können, die keine Control basierten Klassen für ihre Benutzeroberflächen oder das standardmäßige CodeDOM- und Persistenzmodell verwenden können.

Die OleUndoEngine Klasse wird von der .NET Framework-Klasse UndoEngine abgeleitet, indem eine Implementierung der IOleUndoManager Klasse zum Verwalten von Rückgängig-Vorgängen verwendet wird.

Visual Studio stellt das folgende Feature zum Rückgängigmachen des Designers bereit:

Das Environment SDK bietet CodeDOM- und Persistenzunterstützung, indem Folgendes bereitgestellt wird:

Verwenden der Umgebungs-SDK-Features zum Bereitstellen der Rückgängig-Unterstützung

Zum Abrufen der Rückgängig-Unterstützung muss ein Objekt, das einen Designer implementiert, eine Instanz der OleUndoEngine Klasse mit einer gültigen IServiceProvider Implementierung instanziieren und initialisieren. Diese IServiceProvider Klasse muss die folgenden Dienste bereitstellen:

Designer, die einen OleUndoEngine basierten Rückgängig-Mechanismus implementieren, verfolgt Änderungen automatisch, wenn: