Dela via


Ge stöd för att ångra till designers

Designers, till exempel redigerare, behöver vanligtvis stöd för ångra-åtgärder så att användarna kan ångra sina senaste ändringar när de ändrar ett kodelement.

De flesta designer i Visual Studio har automatiskt "ångra"-stöd som tillhandahålls av miljön.

Designerimplementeringar som behöver stöd för ångra-funktionen:

Mer information om hur du skriver designers med hjälp av .NET Framework finns i avsnittet 'Utöka Design-Time Support'.

Visual Studio SDK tillhandahåller en standardinfrastruktur för ångringsåtgärder genom att:

Få ångringsstöd automatiskt

Alla designer som skapats i Visual Studio har stöd för automatisk och fullständig ångring, om designern:

  • Använder en Control baserad klass för användargränssnittet.

  • Använder standard codedom-baserad kodgenerering och parsningssystem för kodgenerering och beständighet.

    Mer information om hur du arbetar med Visual Studio CodeDOM-stöd finns i Dynamisk källkodsgenerering och kompilering.

När du ska använda explicit ångrafunktion i Designer

Designers måste ange sin egen ångra-hantering om de använder ett grafiskt användargränssnitt, som kallas för en adapter, snarare än det som tillhandahålls av Control.

Ett exempel på detta kan vara att skapa en produkt med ett webbaserat grafiskt designgränssnitt i stället för ett .NET Framework-baserat grafiskt gränssnitt.

I sådana fall skulle man behöva registrera den här view-adaptern med Visual Studio med hjälp av ProvideViewAdapterAttribute, och tillhandahålla explicit hantering av ångra.

Formgivare måste tillhandahålla stöd för CodeDOM och persistens om de inte använder Visual Studio-kodgenereringsmodellen som tillhandahålls i namnområdet System.CodeDom.

Ångra supportfunktioner i designern

Miljö-SDK tillhandahåller standardimplementeringar av gränssnitt som behövs för att tillhandahålla ångra-funktionalitet som kan användas av designers som inte använder Control-baserade klasser för sina användargränssnitt eller standardmodellen för CodeDOM och beständighetsmodell.

Klassen OleUndoEngine härleds från .NET Framework-klassen UndoEngine med hjälp av en implementering av IOleUndoManager klassen för att hantera ångrade åtgärder.

Visual Studio tillhandahåller följande funktion för att ångra designern:

Miljö-SDK:et tillhandahåller stöd för CodeDOM och persistence genom att tillhandahålla:

Använd miljö-SDK-funktionerna för att tillhandahålla ångra-stöd

För att få stöd för ångra måste ett objekt som implementerar en designer instansiera och initiera en instans av en OleUndoEngine-klass med en giltig IServiceProvider-implementering. Den här IServiceProvider klassen måste tillhandahålla följande tjänster:

Designers som implementerar en OleUndoEngine baserad ångra-mekanism spårar automatiskt ändringar om: