Поделиться через


Программирование дерева элементов модели

Данный раздел относится к версии Windows Workflow Foundation 4.

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

Ee662951.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\WF_WCF_Samples

Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.

<диск_установки>:\WF_WCF_Samples\WF\Basic\Designer\ProgrammingModelItemTree

Подробные сведения об образце

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

Архитектура конструктора рабочих процессов

Элемент ModelItem состоит из указателя базового значения, а также коллекции объектов ModelProperty. Объект ModelProperty в свою очередь включает данные, такие как имя и тип свойства, и указатель значения, который в свою очередь является еще одним элементом ModelItem. Преобразователь значений используется для манипуляции некоторыми элементами ModelItem, возвращаемыми свойством ModelProperty, чтобы они правильно отображались в представлении дерева. Далее в образце показано, как императивно программировать с использованием дерева 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 2010.

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

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

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

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

Ee662951.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\WF_WCF_Samples

Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.

<диск_установки>:\WF_WCF_Samples\WF\Basic\Designer\ProgrammingModelItemTree