UndoEngine Classe

Definizione

Specifica funzionalità generiche di annullamento/ripetizione 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 non eseguibile. Questa unità viene aggiunta a uno stack e l'utente può quindi seguire lo stack per annullare ogni azione. Le unità di annullamento in genere sono progettate per attivare l'interruttore, il che significa che la chiamata di annullamento 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 mantenuti in un formato specifico 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 fabbricare un'azione di annullamento che si estende su più azioni più piccole.

Con queste funzionalità, UndoEngine è possibile fabbricare automaticamente tutte le unità di annullamento necessarie.

Nota

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. La tabella seguente mostra i servizi che devono essere disponibili al momento UndoEngine della creazione.

Servizio Descrizione
ComponentSerializationService Salva i valori delle proprietà e degli oggetti per un componente prima e dopo che viene apportata una modifica.
IComponentChangeService Notifica al motore di annullamento delle modifiche apportate ai componenti.
IDesignerHost Usato per tenere traccia delle transazioni.

Nota

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 "Cambia proprietà 'Text'".

Costruttori

UndoEngine(IServiceProvider)

Inizializza una nuova istanza della classe UndoEngine.

Proprietà

Enabled

Attiva o disabilita l'oggetto UndoEngine.

UndoInProgress

Indica se è in corso un'operazione di annullamento.

Metodi

AddUndoUnit(UndoEngine+UndoUnit)

Aggiunge un oggetto UndoEngine.UndoUnit allo stack di annullamento.

CreateUndoUnit(String, Boolean)

Crea un nuovo oggetto UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit)

Elimina un oggetto UndoEngine.UndoUnit.

Dispose()

Rilascia tutte le risorse usate da UndoEngine.

Dispose(Boolean)

Rilascia le risorse non gestite usate da UndoEngine e, facoltativamente, 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 l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(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

Undoing

Viene generato immediatamente prima dell'esecuzione di un'operazione di annullamento.

Undone

Viene generato immediatamente dopo l'esecuzione di un'operazione di annullamento.

Si applica a

Vedi anche