WF4.0论坛Q/A

简介:

  偶发现微软的WF4.0论坛也是一个学习WF4.0的好地方,打算把一些典型的问题和答案整理出来,方便大家查阅和学习,先整理几个出来,以后我会持续更新的,WF4.0论坛的地址是:http://social.msdn.microsoft.com/Forums/zh-CN/wfprerelease/threads

1、Q:获取自定义活动的子活动:

    A:实现的代码

代码

2、Q:在宿主设计器中,通过编程的方式在Flowchar添加arguments :

    A:实现的代码:

代码

3、Q:如何将代码方式工作流转化为Xaml格式的工作流。

    A:实现的代码,这个不支持lambda,先将其转换为VBRefrenceValue等:

代码

4、Q:IActivityTemplateFactory能否用在变量上

     A:可以,一个变量情况:

代码

    多个变量的情况:

代码

5、Q:怎样在dll中找出WF的活动:

    A:实现的代码

代码

6、Q:在宿主设计器上隐藏Arguments按钮:

    A:实现的代码

this .wd.Context.Services.GetService < DesignerView > ().WorkflowShellBarItemVisibility  =  ShellBarItemVisibility.Variables;

ShellBarItemVisibility 枚举有如下值:None Variables Arguments Imports Zoom MiniMap  All。

7、Q:宿主设计器中,如何由string来创建flowchar

    A:实现的代码

WorkflowDesigner wd  =   new  WorkflowDesigner();
  wd.Load(XamlServices.Load(
new  StringReader(s)));

8、Q:在设计时动态添加Argument到自定义动中:

    A:实现的代码:

代码

9、Q: 自定义活动的属性设置为一个对话框

     A:实现的代码

代码

     FilePickerEditor:

代码

   DataTemplate

代码

10、Q:ToolboxControl :Auto Expand/Collapse

      A:实现的代码

tbc.CategoryItemStyle  =   new  System.Windows.Style( typeof (TreeViewItem))
{
    Setters 
=  {
        
new  Setter(TreeViewItem.IsExpandedProperty,  false )
    }
};

11、Q:如何在宿主设计器上直接打开活动:

      A:实现的代码:

      XAML部分:

代码

    CS部分:

代码

12、Q:WorkflowApplication加载持久化的工作流:

      A:实现的代码:

WorkflowApplication application = new WorkflowApplication(workflowDefinition);
application.InstanceStore = new SqlWorkflowInstanceStore(...);
application.Load(id);
application.ResumeBookmark(...);

13、Q:WF4.0活动的表达式编辑器使用的语言是什么?

       A:VB

14、Q:将 xaml工作流转换成C#工作流:

     A:参考:http://blogs.msdn.com/mwinkle/archive/2009/06/10/types-metatypes-and-bears-oh-my.aspx

15、Q:如何在设计器上验证当前选择和拖拽的活动

      A:WF4.0验证框架包含三个辅助活动,它帮助您验证WF有关的活动。这些辅助活动是GetParentChain,GetChilSubtree和GetWorkflowTree,

他们是在Constraints里面,就像你将使用AssertValidation。下面是一个代码片段:

代码

16、Q:如何在WF4.0表达式编辑器上使用Generic List, Hash table, Array

      A:您将需要使用VB的对象和集合初始化语法

代码

17、Q:获取Flow switch表达式字符串

      A:实现代码:

代码

18、Q:在C#中通过Default值动态创建变量。

       A:如果name为:zhu ,lastname为qilin,New Class1().name + New Class1().lastName求出的值为"zhuqilin",直接看代码:

代码

 

19、Q:宿主工作流设计器中验证ActivityBuilder

      A:代码如下:

designer.Flush();
Activity a 
=  ActivityXamlServices.Load( new  StringReader(designer.Text));  // would return a DynamicActivity for your case
ActivityValidationServices.Validate(a);

 

 

 




本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2010/02/03/WF4-Q-A.html,如需转载请自行联系原作者
相关文章
|
API Windows
刘金玉的零基础VB教程073期:windows API使用入门 sleep
刘金玉的零基础VB教程073期:windows API使用入门 sleep
169 0
|
前端开发 .NET C#
一起谈.NET技术,WCF+WF双剑合璧构建微软的SOA系列(一):从一个简单的Demo开始
  本系列文章将从实例出发,以实例结尾。由浅入深讲解在我们项目中如何使用WCF和WF。我们会发现使用WCF+WF将造就出其他技术无法达到的高度。最后我会将程序架到云端。   微软.net的3W(WPF、WCF、WF)战略如下图。
1239 0
LightSwitch:小试一“.NET研究”下微软开发框架LightSwitch
  之前知道微软在做一个数据驱动的开发框架LightSwitch,但没有用过。前一阵子,一个客户的技术负责人和我说起LightSwitch,所以这次TechNet也就去听了一下LightSwitch的讲座。
742 0
艾伟:一步一步学WF系列(三)
  1. 写在前面   原本计划从这篇文章开始,开始介绍活动的使用方式,但是考虑到很多在WF中,重要的类和概念都没有清晰,所以还是在本文中继续明确一下WF中重要的类的用法。   这节是纯粹的理论知识,只是为你的后续学习打下一个基础,如果您不敢兴趣,可以略过。
1052 0