向设计师展示活动?

问题描述

| 我有一个示例工作流应用程序,该应用程序只需要显示一个活动,然后显示我们在哪一步。 问题是当我像这样加载活动时:
TestWorkflow workflow = new TestWorkflow();
_workflowApplication= new WorkflowApplication(workflow );
_workflowDesigner = new WorkflowDesigner();
_workflowDesigner.Load(workflow );
uxGridWorkflowHoster.Children.Add(_workflowDesigner.View);
我在框中仅获得根元素“序列”。怎么改变呢? 我在Visual Studio上得到 在我的应用程序中,我仅看到: 谢谢!     

解决方法

问题在于,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);