IfElseActivity
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tech·Ed 2006中国 实况报道
- 下一篇: java 凑整_Java语言中的取整运算