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 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. |