向设计师展示活动?

时间:2011-04-13 11:47:57

标签: .net workflow workflow-foundation workflow-foundation-4

我有一个示例工作流程应用程序,它只需显示一个活动,显示我们在哪个步骤。

问题在于,当我像这样加载我的活动时:

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

我的框中只有根元素“序列”。如何改变?

我在visual studio上得到了它 The workflow on visual studio

在我的应用中,我只看到了:

App view

谢谢!

1 个答案:

答案 0 :(得分:1)

问题是TestWorkflow没有与之关联的设计器,并且设计界面没有意识到TestWorkflow是一个由其他活动组成的Activity,它应该显示其实现的根,而不是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);