Partager via


Utilisation de la portée d'édition

Cette rubrique s'applique à Windows Workflow Foundation 4.

Cet exemple montre comment traiter par lot un ensemble de modifications afin qu'elles puissent être annulées dans une unité atomique unique. Par défaut, les actions effectuées par un auteur de concepteur d'activités sont automatiquement intégrées dans le système d'annulation/de rétablissement.

Montre

Portée d'édition et annulation/rétablissement.

Discussion

Cet exemple montre comment traiter par lot un ensemble de modifications apportées à l'arborescence ModelItem dans une unité de travail unique. Notez que, lors de la liaison à des valeurs ModelItem directement à partir d'un concepteur WPF, les modifications sont appliquées automatiquement. Cet exemple montre ce qui doit être fait lorsque plusieurs modifications qui doivent être traitées par lot sont apportées via du code impératif, plutôt que par une modification unique.

Dans cet exemple, trois activités sont ajoutées. Lorsque la modification commence, BeginEdit est appelé sur une instance de ModelItem. Les modifications apportées à l'arborescence ModelItem dans cette portée d'édition sont traitées par lot. La commande BeginEdit retourne un EditingScope, qui peut être utilisé pour contrôler cette instance. OnComplete ou OnRevert peut être appelé pour valider ou rétablir la portée d'édition.

Vous pouvez également imbriquer des objets EditingScope, ce qui permet de suivre de plusieurs ensembles de modifications dans le cadre d'une plus grande portée d'édition et de les contrôler individuellement. Un scénario qui peut utiliser cette fonctionnalité consisterait en des modifications apportées dans plusieurs boîtes de dialogue qui doivent être validées ou rétablies séparément, avec toutes les modifications traitées en tant qu'opération atomique unique. Dans cet exemple, les portées d'édition sont empilées à l'aide d'un ObservableCollection de type ModelEditingScope. ObservableCollection est utilisé afin que la profondeur de l'imbrication puisse être observée sur l'aire du concepteur.

Pour configurer, générer et exécuter l'exemple

  1. Générez et exécutez l'exemple, puis utilisez les boutons situés à gauche pour modifier le workflow.

  2. Cliquez sur Ouvrir la portée d'édition.

    1. Cette commande appelle BeginEdit qui crée une portée d'édition et le place sur la pile d'édition.

    2. Trois activités sont ensuite ajoutées au ModelItem sélectionné. Notez que si la portée d'édition n'avait pas été ouverte avec BeginEdit, trois nouvelles activités apparaitraient sur la zone de conception. Étant donné que cette opération est toujours en attente dans EditingScope, le concepteur n'est pas encore mis à jour.

  3. Appuyez sur Fermer la portée d'édition pour valider la portée d'édition. Trois activités apparaissent dans le concepteur.

Ee834521.Important(fr-fr,VS.100).gif Remarque :
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.

<LecteurInstall>:\WF_WCF_Samples

Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.

<LecteurInstall>:\WF_WCF_Samples\WF\Basic\CustomActivities\CustomActivityDesigners\UsingEditingScope