IfElseActivity

1.IfElseActivity有两个IfElseBranch子控件,分别作为IfElse的两个分支容器,系统自动添加,

2.其中左边(为真件条)的IfElseBranch容器要设Condition

3.IfElse左边(为真件条)的IfElseBranch容器的Condition有两个条件模式:Code Condition,Declarative Rule Condition

Code Condition模式

Code Condition模式,由对e.Result赋不同值决定执行不同的分支

要使用该模式,会在代码中用到CodeCondition对象与CodeCondition对象的Condition事件

    'Code Condition模式的判断,由对e.Result赋不同值决定执行不同的分支
 Private Sub ifElse_a_Condition()Sub ifElse_a_Condition(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ConditionalEventArgs)
        'e.Result如果为真,就执行左边(为真件条)的IfElseBranch容器
        'e.Result如果为假,就执行右边(为假件条)的IfElseBranch容器
        If temp = "456" Then
            e.Result = True
        Else
            e.Result = False
        End If
    End Sub

双击无法进入代码,可手写该过程,

从下拉框绑定时如报错,可在Workflow1.designer.vb中的手写绑定代码

'Workflow1.designer.vb中的绑定代码
Dim codecondition1 As System.Workflow.Activities.CodeCondition = New System.Workflow.Activities.CodeCondition
AddHandler codecondition1.Condition, AddressOf Me.ifElse_a_Condition
Me.ifElseBranchActivity1.Condition = codecondition1

Declarative Rule Condition模式

Declarative Rule Condition模式:由指定的表达式的值是否符合条件定执行不同的分支

代码实现

Workflow1.rules

<RuleDefinitions xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow">

<RuleDefinitions.Conditions>

<RuleExpressionCondition Name="Condition1">

<RuleExpressionCondition.Expression>

<ns0:CodeBinaryOperatorExpression Operator="ValueEquality" xmlns:ns0="clr-namespace:System.CodeDom;Assembly=System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

<ns0:CodeBinaryOperatorExpression.Left>

<ns0:CodeFieldReferenceExpression FieldName="temp">

<ns0:CodeFieldReferenceExpression.TargetObject>

<ns0:CodeThisReferenceExpression />

</ns0:CodeFieldReferenceExpression.TargetObject>

</ns0:CodeFieldReferenceExpression>

</ns0:CodeBinaryOperatorExpression.Left>

<ns0:CodeBinaryOperatorExpression.Right>

<ns0:CodePrimitiveExpression>

<ns0:CodePrimitiveExpression.Value>

<ns1:String xmlns:ns1="clr-namespace:System;Assembly=mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">123</ns1:String>

</ns0:CodePrimitiveExpression.Value>

</ns0:CodePrimitiveExpression>

</ns0:CodeBinaryOperatorExpression.Right>

</ns0:CodeBinaryOperatorExpression>

</RuleExpressionCondition.Expression>

</RuleExpressionCondition>

</RuleDefinitions.Conditions>

</RuleDefinitions>

Dim ruleconditionreference1 As Workflow.Activities.Rules.RuleConditionReference = New .RuleConditionReference

ruleconditionreference1.ConditionName = "Condition1"

Me.ifElseBranchActivity3.Condition = ruleconditionreference1

IfElseActivity相关推荐

  1. 《WF编程》系列之23 - 基本活动:IfElseActivity WhileActivity SequenceActivity

    <WF编程>系列之23 - 基本活动:IfElseActivity & WhileActivity & SequenceActivity 4.1.2 IfElseActiv ...

  2. Activity容器控件

    IfElseActivity 1.IfElseActivity有两个IfElseBranch子控件,分别作为IfElse的两个分支容器,系统自动添加, 2.其中左边(为真件条)的IfElseBranc ...

  3. 一步一步学WF系列(四)——工作流模拟登陆

    1. 摘要 我们之前已经熟悉了关于WF的基本概念,相信各位也都跃跃欲试.想步入真正的WF开发. 从本文开始,我们就先来熟悉在WF中的活动. 2. 活动 WF的核心就是一系列的活动. 而工作流就是多个活 ...

  4. Workflow之Activity

    --SequenceWorkflowActivity 活动是Windows Worklow的基本组成块,准确的说,顺序工作流本身就是一个活动-SequentialWorkflowActivity.Se ...

  5. 《C#高级编程第6版》 读书笔记 (张迅雷闪击C#系列)

    第一章  概述 MSIL=IL  microsoft中间语言 CTS   common type  system CLS   Common Language  Specification  公共语言规 ...

  6. java中workFlowEvent_关于WorkFlow的使用以及例子

    近期做项目,项目需要用到工作流方面的技术,我在这里与大家分享一个workFlow学习的地址,共大家学习. 各文档的说明: F资料 ├─Activity │  │  1_Activity 类.doc │ ...

  7. workflow是什么?

    workflow是为了完成一些预定的目的,根据一组规则,而制定的一系列步骤.对于一个开发者来说,workflow则是将复杂的业务规则以及控制流程以图形化的方法声明出来,组成一个高度可视化的图形环境. ...

  8. MS Workflow Foundation

    1. 系统必备 - 我们需要安装 WinFX (下载)和 Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow ...

  9. WF4.0与WF3.X区别

    WF4并非是在原有WF3.x上的改进,而是全新的开发有新的命名空间,程序集,原WF3的部分会继续保留这主要是为了兼容,下面的表格告诉你具体的变化: 1.程序集的变化 WF3.x程序集 WF4程序集 S ...

最新文章

  1. 【D3】transition API
  2. 工作中遇到的懒加载问题
  3. 向linux kernel中添加cmdline的四种方式
  4. 常见排序算法详解 (收藏!)
  5. 操作系统(5) -- 输入/输出管理
  6. 那位标榜技术驱动的开发者去哪了?
  7. 安装Ubuntu RISC V toolchain失败(网速、git配置原因)
  8. php session 封装类,PHP封装的数据库保存session功能类
  9. 模式三工厂——开花结果
  10. 建模算法(五)——图与网络
  11. c语言米粒数实验报告,《單片机C程序设计》实验报告.doc
  12. 如何有效地卸载office
  13. 谢谢 留下几个 那个有关于C++既QQ群吖
  14. 287. 寻找重复数
  15. 【YOLOv7/v5系列算法改进NO.45】首发最新特征融合技术RepGFPN(DAMO-YOLO)
  16. Excel数据表添加页眉页脚
  17. c++继承 基类 派生类 虚函数
  18. html 和css常见的面试题
  19. HDS CTO谈优化存储投资 渡过经济寒冬
  20. Jackson简单用法

热门文章

  1. mysql有没有num_mysql_num_rows()函数
  2. as上的git到码云操作_如何使用git从码云克隆项目到本地?
  3. java多线程实战指南_学习笔记《Java多线程编程实战指南》二
  4. python 矩阵点乘_Day276:普通乘积、矩阵点乘、克罗内克积
  5. 关于局部变量表slot的理解
  6. Spring系列(七):@FactoryBean注解用法介绍
  7. 不常见但是有用的 Chrome 调试技巧
  8. 这8个方法让你成为最优秀的程序员
  9. html 科幻模板,html5酷炫宇宙科幻周年庆典专题动画模板
  10. 计算机网络线路争用,计算机网络系统集成复习要点