Compartilhar via


Árvore modelo de programação de item

O exemplo ProgrammingModelItemTree demonstra como navegar na árvore ModelItem usando a associação de dados declarativa do Modo de Exibição de Árvore do Windows Presentation Foundation (WPF).

Detalhes de exemplo

A árvore de ModelItem é a abstração que é usada pela infraestrutura do Designer de Fluxo de Trabalho do Windows para expor os dados sobre a instância subjacente que está sendo editada. A ilustração a seguir é uma descrição das várias camadas de infraestrutura dentro do Designer de Fluxo de Trabalho.

Diagram that shows the Workflow Designer architecture.

ModelItem consiste em um ponteiro para o valor subjacente, bem como uma coleção de objetos ModelProperty . Um objeto de ModelProperty por sua vez, consiste dados como nome e tipo da propriedade e então um ponteiro para o valor que, por sua vez, é outro ModelItem. Um conversor de valor é usado para manipular qualquer um de ModelItems retornado de ModelProperty para fazê-lo aparecer corretamente no modo de exibição de árvore. O exemplo demonstra como programar em imperativa contra a árvore de ModelItem usando a sintaxe imperativa, como visto no exemplo a seguir.

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 usar este exemplo

  1. Abra a solução de ProgrammingModelItemTree.sln no Visual Studio.

  2. Crie a solução selecionando Compilar solução do menu Compilar.

  3. Pressione F5 para executar o aplicativo. O formulário do WPF é exibido em seguida.

  4. Clique no botão de Carregar WF para carregar o ModelItem e para associá-lo ao modo de exibição de árvore.

  5. Clicando no botão de Modificar a árvore de itens do modelo executa o código anterior para adicionar um item na árvore e para definir uma propriedade.

Confira também