我们已经在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类
验证:
运行程序会得到如下图结果:
在Bin\Debug文件夹中打开SayHello.xaml,右键编辑,修改WriteLine活动的Text属性变为:“Hello workflow 4 XAML”,然后save,关闭。
然后在windows环境下执行HelloWorkflow.exe(在Bin\Debug文件夹下)文件,会的到如下图:
返回vs中重设SayHello.xaml属性,以便为下一个demo使用:
这样demo4就完成了。
时间: 2024-10-01 09:44:48