Condividi tramite


Utilizzo dell'ambito di modifica

Le informazioni contenute in questo argomento sono valide per Windows Workflow Foundation 4.

In questo esempio viene illustrato come raggruppare un set di modifiche in modo che possano essere annullate in un'unica unità atomica. Per impostazione predefinita, le azioni intraprese da un autore dell'ActivityDesigner vengono integrate automaticamente nel sistema di annullamento/ripristino.

Dimostrazione

Modifica di ambito e comandi Annulla e Ripeti.

Discussione

In questo esempio viene illustrato come riunire in batch un set di modifiche nella struttura ad albero ModelItem all'interno di una singola unità di lavoro. Notare che in caso di associazione ai valori di ModelItem direttamente da una finestra di progettazione WPF, le modifiche vengono applicate automaticamente. In questo esempio vengono illustrate le operazioni che è necessario eseguire quando, anziché una singola modifica, vengono apportate più modifiche da riunire in batch tramite codice imperativo.

In questo esempio vengono aggiunte tre attività. Quando inizia la modifica, viene chiamato BeginEdit su un'istanza di ModelItem. le modifiche apportate alla struttura ad albero ModelItem all'interno di questo ambito di modifica vengono riunite in batch. Il comando BeginEdit restituisce un oggetto EditingScopeche può essere utilizzato per controllare questa istanza. È possibile chiamare OnComplete o OnRevert per eseguire il commit o ripristinare l'ambito di modifica.

È inoltre possibile annidare oggetti EditingScope, in modo da consentire il rilevamento di più set di modifiche, come parte di un ambito di modifica più esteso, e il controllo individuale. Un scenario in cui può essere utilizzata questa funzionalità si presenta, ad esempio, quando deve essere eseguito il commit di modifiche da più finestre di dialogo, o quando tali modifiche devono essere ripristinate separatamente, e tutte le modifiche vengono considerate come una singola operazione atomica. In questo esempio gli ambiti di modifica vengono organizzati in stack utilizzando un oggetto ObservableCollection di tipo ModelEditingScope. ObservableCollection viene utilizzato in modo da poter osservare la profondità dell'annidamento nell'area di progettazione.

Per impostare, compilare ed eseguire l'esempio

  1. Compilare ed eseguire l'esempio, quindi utilizzare i pulsanti a sinistra per modificare il flusso di lavoro.

  2. Fare clic sull'opzione per l'apertura dell'ambito di modifica.

    1. Questo comando consente di chiamare BeginEdit che crea un ambito di modifica e lo inserisce nello stack di modifica.

    2. Vengono quindi aggiunte tre attività all'oggetto ModelItem selezionato. Notare che se l'ambito di modifica non è stato aperto con BeginEdit, le tre nuove attività vengono visualizzate nell'area di disegno della finestra di progettazione. Poiché questa operazione è ancora in sospeso all'interno di EditingScope, la finestra di progettazione non viene ancora aggiornata.

  3. Fare clic sull'opzione per la chiusura dell'ambito di modifica per eseguirne il commit. Nella finestra di progettazione vengono visualizzate tre attività.

Ee834521.Important(it-it,VS.100).gif Nota:
È possibile che gli esempi siano già installati nel computer. Verificare la directory seguente (impostazione predefinita) prima di continuare.

<UnitàInstallazione>:\WF_WCF_Samples

Se questa directory non esiste, visitare la pagina relativa agli esempi di Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti gli esempi di Windows Communication Foundation (WCF) e WF. Questo esempio si trova nella directory seguente.

<UnitàInstallazione>:\WF_WCF_Samples\WF\Basic\CustomActivities\CustomActivityDesigners\UsingEditingScope