Partager via


Programmation de l'arborescence des éléments de modèle

Cette rubrique s'applique à Windows Workflow Foundation 4.

Cet exemple montre comment parcourir l'arborescence ModelItem à l'aide de la liaison de données déclarative à partir de l'arborescence de Windows Presentation Foundation (WPF).

Ee662951.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\Designer\ProgrammingModelItemTree

Détails de l'exemple

L'arborescence ModelItem est l'abstraction utilisée par l'infrastructure du Windows Workflow Designer pour exposer les données relatives à l'instance sous-jacente en cours de modification. L'illustration suivante est une description des différentes couches d'infrastructure dans le Concepteur de workflow.

Architecture de concepteur de workflow

Un ModelItem se compose d'un pointeur vers la valeur sous-jacente, ainsi que d'une collection d'objets ModelProperty. Un objet ModelProperty, quant à lui, se compose de données telles que le nom et le type de la propriété, puis d'un pointeur vers la valeur qui, à son tout, est un autre ModelItem. Un convertisseur de valeurs est utilisé pour manipuler certains des ModelItem retournés à partir d'un ModelProperty pour les faire apparaître correctement dans l'arborescence. L'exemple montre ensuite comment effectuer une programmation de façon impérative sur l'arborescence ModelItem à l'aide de la syntaxe impérative.

ModelItem mi = wd.Context.Services.GetService<ModelService>().Root;
ModelProperty mp = mi.Properties["Activities"];
mp.Collection.Add(new Persist());
ModelItem justAdded = mp.Collection.Last();
justAdded.Properties["DisplayName"].SetValue("new name");

Pour utiliser cet exemple

  1. Ouvrez la solution ProgrammingModelItemTree.sln dans Visual Studio 2010.

  2. Générez la solution en sélectionnant Générer la solution dans le menu Générer.

  3. Appuyez sur F5 pour exécuter l'application. Le formulaire WPF s'affiche alors.

  4. Cliquez sur le bouton Charger WF pour charger ModelItem et le lier à l'arborescence.

  5. Un clic sur le bouton Modifier l'arborescence des éléments de modèle exécute le code précédent pour ajouter un élément à l'arborescence et définir une propriété.

Ee662951.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\Designer\ProgrammingModelItemTree