2011-04-19 65 views
0

我正在构建一个应用程序,它将成为用户定义工作流的工作流设计器。当然,我只是在我的WPF应用程序中重新使用WorkflowDesigner控件(System.Activities.Presentation.WorkflowDesigner),包括用于活动的Property Inspector和ToolboxControl。我的应用程序的一个需求是启用定义用户定义的工作流程。逻辑用户请求是在定义新工作流时重用已定义的工作流。由于任何工作流程基本上都是一项活动,因此这种事情是可行的。我的问题是,如何启用这样的功能?假设以前定义的工作流程应该出现在工具箱(专用类别)中,随时可以放在工作流设计器上。在新的工作流程中将用户定义的工作流程重新用作活动?

回答

0

如果您编译生成的第一个工作流时生成的XAML文件,它们将成为程序集中的类型,您可以将它们添加到工具箱中。另一种方法是使用IActivityTemplateFactory实现,其中使用ActivityXamlServices加载原始XAML文件并返回它们。第二种意思是你没有重复使用原始的工作流程,只是它的一个副本。所以任何改变都不会反映在他们使用的地方。

+0

我更喜欢第一种方法,因为在所有实例上反映此类工作流中的更改是有意义的。但我不确定我知道如何实现这一目标?我应该使用工作流编译器还是什么?如果你没有从我的问题中看到它,我是这种技术中的一个新手。我已经看到了一些例子,其中加载了xaml文件,并将ActivityXamlServices转换为一个准备执行的动态活动。这是完全不同的故事。任何帮助,将不胜感激。 – zlakob 2011-04-20 12:43:43

+0

如果您生成一个项目文件(它只是XML),您可以使用msbuild.exe进行编译。 – Maurice 2011-04-20 17:03:36

相关问题