zoukankan      html  css  js  c++  java
  • 学习WF笔记9 自定义工作流活动(1)

      

    WF已经提供了很多类型的活动,这些活动可以满足大部分人员的基本需求,但在实际项目中有时也需要重新开发或者封装一些具有特殊业务意义的活动在工作流中使用,因此WF提供了对原有活动进行扩展以及自定义新活动的功能,如图一所示,用户可以通过"Workflow Activity Library"创建和开发自定义活动。

    1  创建自定义活动项目

     

    1.1自定义活动的类型

    默认情况下创建的自定义活动是继承“System.Workflow.Activities.SequenceActivity”父类的。图2所示,该类型自定义活动的外观是由一个Sequence顺序类型的容器构成的,用户可以在Sequence活动内添加其他子活动。

    2 SequenceActivity类型自定义活动

           如果用户想创建一个特殊的补偿类型的自定义活动,可以通过继承“System.Workflow.ComponentModel.CompositeActivity”父类来实现。该类型的自定义活动的外观如图3所示,用户不能向该活动内添加任何子活动。

    3  CompositeActivity类型自定义活动

           如果用户想在CallExternalMethod活动基础上封装一些额外的功能,那么可以通过继承”System.Workflow.Activities.CallExternalMethodActivity”父类来实现。该类型的自定义活动外观如图4所示。

    4  CallExternalMethodActivity类型自定义活动

           如果用户想在HandleExternalEvent活动基础上封装一些额外的功能,那么可以通过继承“System.Workflow.Activities.HandleExternalEventActivity”父类来实现。该类型的自定义活动外观如图5所示。

    5  HandleExternalEventActivity类型自定义活动

           用户可以通过继承“System.Workflow.componentModel.Activity”父类来自定义一个”ComponentModelActivity”类型的自定义活动。它与”SequenceActivity”类型自定义活动都是日常工作中最常使用的两种类型的自定义活动,它与“SequenceActivity”类型自定义活动的区别是用户不能在其内部添加任何子活动。该类型的自定义活动的外观如图6所示。

     

    6  ComponentModelActivity类型自定义活动 

    利用WF开发出来的自定义活动使用起来也非常简单。如图7所示,在同一个解决方案下开发的自定义活动,只要编译成功后就可以在“工具栏”中看到并可以直接使用。


    7 工具栏会显示开发的自定义活动

  • 相关阅读:
    深入理解Auto Layout 第一弹
    Android UI测量、布局、绘制过程探究
    Android Measure 体系简单总结
    [译]Android view 测量布局和绘制的流程
    UI布局只关乎三件事情:尺寸、位置、组织
    ios 布局 素材 待整理
    NSAllowsArbitraryLoadsInWebContent NSAllowsArbitraryLoads
    UIStackView
    laravel 自定义常量方法
    laravel 增加不存在数据库的字段
  • 原文地址:https://www.cnblogs.com/meiweijun/p/meiweijun_2009_11_23_19_21.html
Copyright © 2011-2022 走看看