Programmation de l'arborescence des éléments de modèle
L’exemple ProgrammingModelItemTree montre comment parcourir l’arborescence ModelItem en utilisant une liaison de données déclarative à partir de l’arborescence Windows Presentation Foundation (WPF).
Détails de l'exemple
L’arborescence ModelItem est l’abstraction utilisée par l’infrastructure du Concepteur de flux de travail 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 flux de travail.
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
Ouvrez la solution ProgrammingModelItemTree.sln dans Visual Studio.
Générez la solution en sélectionnant Générer la solution dans le menu Générer.
Appuyez sur F5 pour exécuter l'application. Le formulaire WPF s’affiche.
Cliquez sur le bouton Charger WF pour charger ModelItem et le lier à l’arborescence.
Cliquez sur le bouton Changer l’arborescence des éléments de modèle pour exécuter le code précédent qui ajoute un élément à l’arborescence et définit une propriété.