Дерево элементов модели программирования

В примере ProgrammingModelItemTree показано, как перемещаться ModelItem по дереву с помощью декларативной привязки данных из представления дерева Windows Presentation Foundation (WPF).

Детали образца

Дерево ModelItem — это абстракция, используемая инфраструктурой конструктора рабочих процессов Windows для предоставления данных об редактируемом экземпляре. На следующем рисунке представлено изображение различных слоев инфраструктуры в конструкторе рабочих процессов.

Схема, показывющая архитектуру конструктора рабочих процессов.

A ModelItem состоит из указателя на базовое значение, а также коллекции объектов ModelProperty. Объект ModelProperty , в свою очередь, состоит из таких данных, как имя и тип свойства, а затем указатель на значение, которое, в свою очередь, является другим ModelItem. Преобразователь значений используется для изменения некоторых значений, возвращаемых из ModelItem, чтобы они правильно отображались в представлении дерева. Затем в примере показано, как императивно программировать для ModelItem дерева с помощью императивного синтаксиса, как показано в следующем примере.

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

Использование этого примера

  1. Откройте решение ProgrammingModelItemTree.sln в Visual Studio.

  2. Постройте решение, выбрав Создать решение в меню Сборка.

  3. Нажмите клавишу F5, чтобы запустить приложение. Затем отображается форма WPF.

  4. Нажмите кнопку Load WF , чтобы загрузить ModelItem и привязать ее к представлению дерева.

  5. Нажатие кнопки "Изменить дерево элементов модели " выполняет предыдущий код, чтобы добавить элемент в дерево и задать свойство.

См. также