WF4.0 基础篇 (五) 数据的传递 Variable变量

 

本节主要介绍如何在WF4.0中使用变量,以及为变量赋值

 

本文例子下载:

http://files.cnblogs.com/foundation/VariablesSample.rar

http://files.cnblogs.com/foundation/AssignSample.rar

数据的传递 Variable变量

Variable变量

System.Activities.Variable 类

类名

System.Activities.Statements.

文件

System.Activities.dll

结构说明

继承 System.Activities.LocationReference

是一个 abstract 类

功能说明

 

 

WF4.0 基础篇 (五) 数据的传递 Variable变量

变量说明

1.只有具备[Variables]属性的Activity才可以定义变量

WF4.0 基础篇 (五) 数据的传递 Variable变量

 

2.[Variables] 的数据类型为System.Collections.ObjectModel.Collection<System.Activities.Variable>

 

WF4.0 基础篇 (五) 数据的传递 Variable变量

 

 

3.在定义变量的[Activity]内部的[Activity]可以访问变量,在定义变量的[Activity]外部的[Activity]无法访问变量

WF4.0 基础篇 (五) 数据的传递 Variable变量

 

其XAML结构如下

<Activity ... >

<Sequence DisplayName="mySequenceA" ... >

<Sequence.Variables>

<Variable x:TypeArguments="x:String" Name="v1" />

<Variable x:TypeArguments="x:String" Name="v2" />

</Sequence.Variables>

<sap:WorkflowViewStateService.ViewState>

<scg3:Dictionary x:TypeArguments="x:String, x:Object">

<x:Boolean x:Key="IsExpanded">True</x:Boolean>

</scg3:Dictionary>

</sap:WorkflowViewStateService.ViewState>

<Sequence DisplayName="mySequenceB" sap:VirtualizedContainerService.HintSize="200,100">

<Sequence.Variables>

<Variable x:TypeArguments="x:String" Name="v3" />

<Variable x:TypeArguments="x:String" Name="v4" />

</Sequence.Variables>

<sap:WorkflowViewStateService.ViewState>

<scg3:Dictionary x:TypeArguments="x:String, x:Object">

<x:Boolean x:Key="IsExpanded">True</x:Boolean>

<x:Boolean x:Key="IsPinned">False</x:Boolean>

</scg3:Dictionary>

</sap:WorkflowViewStateService.ViewState>

</Sequence>

</Sequence>

</Activity>

 

为具备[Variables]属性的Activity添加变量

WF4.0 基础篇 (五) 数据的传递 Variable变量

 

使用变量

可在Activity的表达式类型属性里直接赋予变量名

WF4.0 基础篇 (五) 数据的传递 Variable变量

 

运行结果

WF4.0 基础篇 (五) 数据的传递 Variable变量

 

Assign 赋值

类名

System.Activities.Statements.Assign

文件

System.Activities.dll

结构说明

继承 CodeActivity

是一个 sealed类

定义了OutArgument 类型[To属性] 与 InArgument 类型[Value属性]

override 了 [Excute方法] 与 [CacheMetadata方法]

功能说明

1.可以对流程内定义的参数,变量赋值

2.两个参数的类型必须是兼容的。 兼容性在运行时验证

    To 属性 : 要赋值的对象

    Value 属性 : 要赋的值,可以使用表达式方式

 

WF4.0 基础篇 (五) 数据的传递 Variable变量

 

例子:

1.在Sequence容器中定义一个变量[v1],类型为"String",默认值为"wxwinter"

2.用WriteLine在屏幕上输出变量[v1]的值

3.用[Assign]将变量[v1]赋值为"wxd"

4.用WriteLine在屏幕上输出变量[v1]的值

5.用[Assign]将变量[v1]赋值为"lzm"

6.用WriteLine在屏幕上输出变量[v1]的值

 

WF4.0 基础篇 (五) 数据的传递 Variable变量

 

运行结果

WF4.0 基础篇 (五) 数据的传递 Variable变量

你可能感兴趣的:(variable)