Показать деятельность в дизайнера? - PullRequest
1 голос
/ 13 апреля 2011

У меня есть пример приложения рабочего процесса, которое должно отображать только действие, показывающее, на каком этапе мы находимся.

Проблема в том, что когда я загружаю свою деятельность так:

TestWorkflow workflow = new TestWorkflow();
_workflowApplication= new WorkflowApplication(workflow );
_workflowDesigner = new WorkflowDesigner();
_workflowDesigner.Load(workflow );
uxGridWorkflowHoster.Children.Add(_workflowDesigner.View);

Я получаю только «последовательность» корневого элемента в моем ящике. как это изменить?

Я получаю это на визуальной студии The workflow on visual studio

И в моем приложении я вижу только то, что:

App view

Спасибо!

1 Ответ

1 голос
/ 13 апреля 2011

Проблема заключается в том, что TestWorkflow не имеет связанного с ним дизайнера, и область разработки не осознает, что TestWorkflow - это действие, составленное из других действий, и оно должно отображать корень своей реализации, а не само действие TestWorkflow.

Я не знаю лучший способ справиться с этим, но я использовал следующий хак. Он получает первое действие (корень) TestWorkflow и помещает его в ActivityBuilder.

var rootActivity = WorkflowInspectionServices
                       .GetActivities(new TestWorkflow())
                       .FirstOrDefault();

var builder = new ActivityBuilder
              {
                  Implementation = rootActivity,
                  //Name = PartType.Name (whoops, should have cut that out)
              };
_workflowDesigner.Load(builder);
...