Sdílet prostřednictvím


UndoEngine Třída

Definice

Určuje obecnou funkci vrácení zpět nebo opakování v době návrhu.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
Dědičnost
UndoEngine
Implementuje

Poznámky

Abstraktní UndoEngine třída poskytuje výchozí implementaci funkce zpět v době návrhu. Jednotka zpět představuje jednu jednotku práce, která se dá vrátit zpět. Tato jednotka se přidá do zásobníku a uživatel pak může procházet zásobník a vrátit zpět každou akci. Jednotky vrácení zpět jsou obvykle navrženy tak, aby přepínaly, což znamená, že dvojí volání zpět vrátí aplikaci do počátečního stavu.

Třída UndoEngine využívá následující vlastnosti objektů spuštěných v návrháři:

  • Zavaděč návrháře může zachovat všechny zajímavé objekty v určitém formátu.

  • Všechny objekty při změně vlastnosti vyvolávají oznámení o změně vlastnosti.

  • IDesignerHost nabízí myšlenku transakcí, které se dají použít k vytvoření akce vrácení zpět, která zahrnuje několik menších akcí.

Díky těmto funkcím UndoEngine může automaticky vymyslit všechny potřebné jednotky pro vrácení zpět.

Poznámka

Neměňte hodnoty vlastností přímo. Třída UndoEngine vyžaduje, abyste ke změně hodnot vlastností použili odpovídající TypeDescriptor .

UndoEngine monitoruje oznámení o změnách pro vytváření jednotek zpět a samotné jednotky se skládají ze stavů serializovaných objektů. Následující tabulka uvádí služby, které musí být při UndoEngine vytvoření k dispozici.

Služba Popis
ComponentSerializationService Uloží hodnoty vlastností a objektů pro součást před provedením změny a po jejím provedení.
IComponentChangeService Upozorní modul pro vrácení zpět na změny provedené v součástech.
IDesignerHost Slouží ke sledování transakcí.

Poznámka

Vzhledem k tomu, že UndoEngine třída vyžaduje ComponentSerializationService a IComponentChangeService, je k dispozici pouze v době návrhu.

Modul zpět sleduje transakce a vytvoří jednu jednotku vrácení zpět, která zahrnuje transakci. V důsledku toho má modul zpět kontrolu nad dobou trvání akce, která se dá vrátit zpět. Vzhledem k tomu, že transakce mohou být pojmenovány, akce, které se dají vrátit zpět, dědí jejich názvy z aktuální transakce. Pokud není k dispozici žádná transakce a je hlášena změna, modul pro vrácení zpět vytvoří název vrácení zpět na základě typu změny (například "Změnit vlastnost Text").

Konstruktory

UndoEngine(IServiceProvider)

Inicializuje novou instanci UndoEngine třídy .

Vlastnosti

Enabled

Povolí nebo zakáže .UndoEngine

UndoInProgress

Označuje, jestli probíhá akce zpět.

Metody

AddUndoUnit(UndoEngine+UndoUnit)

Přidá do UndoEngine.UndoUnit zásobníku vrácení zpět.

CreateUndoUnit(String, Boolean)

Vytvoří nový objekt UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit)

Zahodí objekt UndoEngine.UndoUnit.

Dispose()

Uvolní všechny prostředky používané nástrojem UndoEngine.

Dispose(Boolean)

Uvolní nespravované prostředky používané nástrojem UndoEngine a volitelně uvolní spravované prostředky.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetRequiredService(Type)

Získá požadovanou službu.

GetService(Type)

Získá požadovanou službu.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnUndoing(EventArgs)

Undoing Vyvolá událost.

OnUndone(EventArgs)

Undone Vyvolá událost.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Událost

Undoing

Vyvolá se bezprostředně před provedením akce zpět.

Undone

Vyvolá se okamžitě po provedení akce zpět.

Platí pro

Viz také