工作流重新托管设计师

时间:2012-09-11 15:09:02

标签: c# workflow-foundation-4 workflow-rehosting

我希望我能理解如何将xaml文件加载到重新设计的设计器中。取决于xaml定义我得到不同的结果。

  1. Xaml,文件中的根节点是Cointans流程图的Activity。使用desinger(xamlFileName)和(new DesignerMetadata).Register()创建设计器之后就足够了(任何人都知道那是什么样的魔法?)在设计器中我得到的工作流看起来像在visual studio编辑器中。
  2. Xaml,根节点是流程图本身。同样的步骤只给我一个设计师的活动。我尝试在活动构建器according to this中包装工作流(我有类似的问题)。程序集没有问题(至少我是这么认为的),没有例外。我不能像以前那样让它发挥作用。
  3. 在visual studio中保存的xaml和在重新设计的设计器中保存的xaml之间有什么区别吗? ActivityXamlServices.Load有时返回DynamicActivity,有时返回目标工作流。它取决于什么?

    感谢您的支持。

1 个答案:

答案 0 :(得分:2)

原来它取决于给予重新设计的设计者的参数。如果我从新的流程图开始,xaml中的根节点将是流程图。将这样的文件稍后加载到设计器时,您不需要将其包装起来。如果您从ActivityBuilder开始,则可能需要在加载xaml之前使用WorkflowInspectionServices来获取工作流。
有时为了在设计器中正确显示工作流程,您需要使用(新的DesignerMetadata).Register()来正确组装,但它并不总是必要的,我不确定它依赖于什么。