WF中从XAML文件动态创建工作流

1. 把单独的WF(4.0.2)项目属性设置为“类库”,XAML属性设置为图1所示:

图1 XAML文件属性设置

 

2.修改生成的XAML中自定义Activity对应的namespace和assembly:

原始代码:

xmlns:local="clr-namespace:TestStateMachines"

改为:

xmlns:local="clr-namespace:TestStateMachines;assembly=TestStateMachines"

 

3. 生成dll,在WCF中引用dll。加载XAML前要设置XamlXmlReaderSettings,本例中WF中有个自定义的BookMark:MyBookmark。

var settings = new XamlXmlReaderSettings() { LocalAssembly = typeof(TestStateMachines.MyBookmark).Assembly };
XamlXmlReader  xamlreader =new XamlXmlReader(XAMLmemoryStream1,settings);//XAMLmemoryStream1: XAML文件的MemoryStream
WorkflowApplication instance;
instance = new WorkflowApplication(ActivityXamlServices.Load(xamlreader));

 

 

 

 

posted @ 2012-08-09 16:46  wyking  阅读(232)  评论(0编辑  收藏  举报