UndoEngine Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |