wf(四)

我们已经在c#和xaml上编写了工作流,或者有的人会觉得在xaml上编写的workflow没什么优点,然而其实xaml其实具有一些很特别的优势。

1. xaml支持工作流设计器,c#不支持;

2. xaml能被动态的加载运行而不需要在一个特定的位置去编译他。


动态工作流能给那些需要生成业务逻辑或者做一个runtime的决定的应用程序提供一些比较好的特性,下面我将讲解怎样实现基于XAML的动态工作流:

1. 运用wf(三)的solution。

2. 修改SayHello.xaml文件属性如下图:

    

   修改main()实现加载SayHello.xaml 文件;

   为了从xaml中调用workflow我们需要运用ActivityXamlServices 将xaml文件加载到内存中去 ,

   并且创建一个WorkflowInvoker可以调用的活动实例。

   记住:任何你的xaml文件引用的程序集在调用workflow的时候必须是可用的。

    具体相关操作:

   1. 在program中添加引用:System.Activities.XamlIntergration

   2. 修改program.cs类

    

验证:

运行程序会得到如下图结果:

在BinDebug文件夹中打开SayHello.xaml,右键编辑,修改WriteLine活动的Text属性变为:“Hello workflow 4 XAML”,然后save,关闭。

然后在windows环境下执行HelloWorkflow.exe(在BinDebug文件夹下)文件,会的到如下图:

返回vs中重设SayHello.xaml属性,以便为下一个demo使用:

这样demo4就完成了。

   

原文地址:https://www.cnblogs.com/HKKD/p/5102184.html