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() " )
});
复制代码

    仅仅使用下面这句代码就能将它转换成xaml文件。

XamlServices.Save( @" ..\..\demo.xaml " , workflow);

    运行上面代码,你就可以得带C#代码对应的图形化xaml文件了。

接下来你就可以继续使用设计器完善此流程了。




本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2010/09/30/converting-a-c-workflow-into-xaml.html,如需转载请自行联系原作者


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值