2012-09-11 43 views
1

我希望我能理解如何将xaml文件加载到重新主办的设计师作品。取决于xaml的定义,我得到了不同的结果。工作流程重新设计设计师

  1. Xaml,文件中的根节点是活动,它可以控制流程图。这里使用desinger.Load(xamlFileName)和(新的DesignerMetadata).Register()创建设计器后就足够了(任何人都知道它是什么样的魔法?)在设计器中,我得到了与Visual Studio编辑器类似的工作流。
  2. Xaml,根节点是流程图本身。同样的步骤只给我一个设计师的裸体活动。我尝试在活动构建器according to this中包装工作流程(我有类似的问题)。程序集没有问题(至少我是这么认为的),没有例外。我不能像以前那样使它工作。

保存在visual studio中的xaml和保存在rehosted designer中的xaml之间是否有区别?
ActivityXamlServices.Load有时会返回DynamicActivity,有时是目标工作流。它依赖于什么?

感谢您的支持。

+0

是的。简单的解决方案是从磁盘获得WorkflowDesigner.Load()文件。 – Will

+0

ActivityDesigner没有方法Load。 – Mat38

+0

固定。 http://msdn.microsoft.com/en-us/library/ee425926.aspx – Will

回答

2

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