WF4.0中如何将C#流程装换成XAML流程
上个礼拜,我遇到了一个很有趣的问题:如何将C#定义的工作流转换为xaml的。一个参加Essential Windows Workflow Foundation 4课程的合作伙伴在使用WF设计器遇到了很多问题。所以他决定用 C#创建工作流程,而不是用设计器来产生xaml文件。虽然这样运行得非常好,但是这样失去了可视化的设计,而可视化的设计是工作流最重要的一点。
幸运的是保存工作流对象却不是很难。他们已经做到了,就是通过使用XamlServices将C#流程对象转化为xaml。
例如:使用下面C#代码创建一个流程:
var workflow =new Sequence();
workflow.Activities.Add(new WriteLine() { Text ="Hello workflow." });
workflow.Activities.Add(new Persist());
workflow.Activities.Add(new If()
{
Condition =new VisualBasicValue<bool>("System.DateTime.Now.Hour < 12"),
Then =new WriteLine() { Text ="Good morning" },
Else =new WriteLine() { Text ="Good afternoon" }
});
workflow.Activities.Add(new WriteLine()
{
Text =new VisualBasicValue<string>("\"The current time is: \" & System.DateTime.Now.ToLongTimeString()")
});
workflow.Activities.Add(new WriteLine() { Text ="Hello workflow." });
workflow.Activities.Add(new Persist());
workflow.Activities.Add(new If()
{
Condition =new VisualBasicValue<bool>("System.DateTime.Now.Hour < 12"),
Then =new WriteLine() { Text ="Good morning" },
Else =new WriteLine() { Text ="Good afternoon" }
});
workflow.Activities.Add(new WriteLine()
{
Text =new VisualBasicValue<string>("\"The current time is: \" & System.DateTime.Now.ToLongTimeString()")
});
仅仅使用下面这句代码就能将它转换成xaml文件。
XamlServices.Save(@"..\..\demo.xaml", workflow);
运行上面代码,你就可以得带C#代码对应的图形化xaml文件了。
接下来你就可以继续使用设计器完善此流程了。
PS:原文地址在:Converting a C# workflow into XAML。
(全文完)
以下为广告部分
您部署的HTTPS网站安全吗?
如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!
快速了解HTTPS网站安全情况。
安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。
安装部署SSL证书变得更方便。
SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。
让服务器远离SSL证书漏洞侵扰
TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。
作者:朱祁林
出处:http://zhuqil.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。