Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el ejemplo ProgrammingModelItemTree se muestra cómo navegar por el árbol ModelItem mediante el enlace de datos declarativo desde la vista de árbol de Windows Presentation Foundation (WPF).
Detalles del ejemplo
El ModelItem árbol es la abstracción que usa la infraestructura del Diseñador de flujos de trabajo de Windows para exponer los datos sobre la instancia subyacente que se está editando. La siguiente ilustración es una representación de las distintas capas de infraestructura en el Diseñador de flujos de trabajo.
ModelItem Consta de un puntero al valor subyacente, así como una colección de ModelProperty objetos . A su vez, un ModelProperty objeto consta de datos como el nombre y el tipo de la propiedad y, a continuación, un puntero al valor, que, a su vez, es otro ModelItem. Un convertidor de valores se usa para manipular algunos de los ModelItemelementos devueltos desde 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
Abra la solución ProgrammingModelItemTree.sln en Visual Studio.
Compile la solución seleccionando Compilar solución en el menú Compilar .
Presione F5 para ejecutar la aplicación. A continuación, se muestra el formulario WPF.
Haga clic en el botón Cargar WF para cargar ModelItem y enlazarlo a la vista de árbol.
Al hacer clic en el botón Cambiar árbol de elementos de modelo, se ejecuta el código anterior para agregar un elemento al árbol y establecer una propiedad.