UndoEngine Classe

Definizione

Specifica la funzionalità di annullamento/rollforward generica in fase di progettazione.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
Ereditarietà
UndoEngine
Implementazioni

Commenti

La UndoEngine classe astratta fornisce un'implementazione predefinita della funzionalità di annullamento in fase di progettazione. Un'unità di annullamento rappresenta una singola unità di lavoro annullabile. Questa unità viene aggiunta a uno stack e l'utente può quindi eseguire il rollforward dello stack per annullare ogni azione. Le unità di annullamento sono in genere progettate per attivare/disattivare, il che significa che la chiamata a annulla due volte restituisce l'applicazione allo stato iniziale.

La UndoEngine classe sfrutta le caratteristiche seguenti degli oggetti in esecuzione all'interno della finestra di progettazione:

  • Tutti gli oggetti interessanti possono essere resi persistenti in un formato dal caricatore della finestra di progettazione.

  • Tutti gli oggetti generano notifiche di modifica delle proprietà quando viene modificata una proprietà.

  • IDesignerHost offre l'idea delle transazioni, che possono essere usate per creare un'azione di annullamento che si estende su più azioni più piccole.

Con queste funzionalità, UndoEngine può fabbricare tutte le unità di annullamento necessarie automaticamente.

Note

Non modificare direttamente i valori delle proprietà. La UndoEngine classe richiede di usare l'oggetto appropriato TypeDescriptor per modificare i valori delle proprietà.

UndoEngine monitora le notifiche di modifica per creare unità di annullamento e le unità stesse sono costituite da stati oggetto serializzati. Nella tabella seguente vengono illustrati i servizi che devono essere disponibili al momento UndoEngine della creazione.

Service Descrizione
ComponentSerializationService Salva i valori di proprietà e oggetto per un componente prima e dopo l'applicazione di una modifica.
IComponentChangeService Notifica al motore di annullamento delle modifiche apportate ai componenti.
IDesignerHost Utilizzato per tenere traccia delle transazioni.

Note

Poiché la UndoEngine classe richiede ComponentSerializationService e IComponentChangeService, è disponibile solo in fase di progettazione.

Il motore di annullamento tiene traccia delle transazioni e crea una singola unità di annullamento che include una transazione. Di conseguenza, il motore di annullamento ha il controllo sulla durata di un'azione annullabile. Inoltre, poiché le transazioni possono essere denominate, le azioni annullabili ereditano i nomi dalla transazione corrente. Se non è disponibile alcuna transazione e viene segnalata una modifica, il motore di annullamento crea un nome di annullamento in base al tipo di modifica, ad esempio "Modifica proprietà 'Text'".

Costruttori

Nome Descrizione
UndoEngine(IServiceProvider)

Inizializza una nuova istanza della classe UndoEngine.

Proprietà

Nome Descrizione
Enabled

Abilita o disabilita l'oggetto UndoEngine.

UndoInProgress

Indica se è in corso un'azione di annullamento.

Metodi

Nome Descrizione
AddUndoUnit(UndoEngine+UndoUnit)

Aggiunge un oggetto UndoEngine.UndoUnit allo stack di annullamento.

CreateUndoUnit(String, Boolean)

Crea un nuovo UndoEngine.UndoUnitoggetto .

DiscardUndoUnit(UndoEngine+UndoUnit)

Rimuove un oggetto UndoEngine.UndoUnit.

Dispose()

Rilascia tutte le risorse usate da UndoEngine.

Dispose(Boolean)

Rilascia le risorse non gestite usate da UndoEngine e, facoltativamente, rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetRequiredService(Type)

Ottiene il servizio richiesto.

GetService(Type)

Ottiene il servizio richiesto.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnUndoing(EventArgs)

Genera l'evento Undoing.

OnUndone(EventArgs)

Genera l'evento Undone.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Eventi

Nome Descrizione
Undoing

Si verifica immediatamente prima dell'esecuzione di un'azione di annullamento.

Undone

Si verifica immediatamente dopo l'esecuzione di un'azione di annullamento.

Si applica a

Vedi anche