2011-04-13 26 views
1

我有一个示例工作流程应用程序,它只需要显示一个活动,显示我们所在的步骤。向设计师展示活动?

的问题是,当我打开我的活动是这样的:

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

问题是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); 
+0

而当包装到活动生成器,整个序列将被显示? – J4N 2011-04-13 19:33:15

+0

@ J4N:是的。我自己在一个rehosted设计师那里做这个。 – Will 2011-04-13 20:53:06

+0

事实上,因为我的活动是在一个不同的项目,我没有这个问题了:) – J4N 2011-04-15 05:05:08