Compartir a través de


Programar el árbol de elementos de modelo

Este tema es aplicable a Windows Workflow Foundation 4.

En este ejemplo se muestra cómo navegar hasta el árbol ModelItem utilizando el enlace de datos declarativo de la vista de árbol de Windows Presentation Foundation (WPF).

Ee662951.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<unidadDeInstalación>:\WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de Windows Communication Foundation (WCF) y WF. Este ejemplo se encuentra en el siguiente directorio.

<unidadDeInstalación>:\WF_WCF_Samples\WF\Basic\Designer\ProgrammingModelItemTree

Detalles del ejemplo

El árbol ModelItem es la abstracción que usa la infraestructura de Diseñador de flujo de trabajo de Windows para mostrar los datos sobre la instancia subyacente que se está editando. La siguiente ilustración describe los diferentes niveles de infraestructura dentro de Diseñador de flujo de trabajo.

Arquitectura de Diseñador de flujo de trabajo

Un objeto ModelItem consta de un puntero al valor subyacente, así como de una colección de objetos ModelProperty. Un objeto ModelProperty a su vez consta de datos como el nombre y tipo de la propiedad, y un puntero al valor que, a su vez, es otro objeto ModelItem. Se utiliza un convertidor de valores para manipular algunos de los objetos ModelItem que devuelve ModelProperty para que aparezcan correctamente en la vista de árbol. A continuación, el ejemplo muestra cómo programar de manera imperativa en el árbol ModelItem utilizando la sintaxis imperativa, tal y como se puede ver en el siguiente ejemplo.

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");

Para utilizar este ejemplo

  1. Abra la solución ProgrammingModelItemTree.sln en Visual Studio 2010.

  2. En el menú Generar, seleccione Generar solución para compilarla.

  3. Presione F5 para ejecutar la aplicación. A continuación se muestra el formulario de WPF.

  4. Haga clic en el botón Load WF para cargar la actividad ModelItem y enlazarla a la vista de árbol.

  5. Al hacer clic en el botón Change Model Item Tree, se ejecuta el código anterior para agregar un elemento en el árbol y establecer una propiedad.

Ee662951.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<unidadDeInstalación>:\WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de Windows Communication Foundation (WCF) y WF. Este ejemplo se encuentra en el siguiente directorio.

<unidadDeInstalación>:\WF_WCF_Samples\WF\Basic\Designer\ProgrammingModelItemTree