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 类

功能说明


 

image.png

变量说明

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

image.png

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

image.png

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

image.png

其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添加变量

image.png

使用变量

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

image.png

运行结果

image.png


Assign 赋值

类名

System.Activities.Statements.Assign

文件

System.Activities.dll

结构说明

继承 CodeActivity

是一个 sealed类

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

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

功能说明

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

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

    To 属性 : 要赋值的对象

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

 image.png

例子:

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

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

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

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

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

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

 

image.png

运行结果

image.png


转载自:

https://www.cnblogs.com/foundation/archive/2009/10/31/1593369.html


勇哥的学习笔记:

勇哥使用vs2013来实验上面教程的例子。


(知识点1) 在活动中使用变量。

下面的例子对Sequence顺序容器添加3个变量。
注意几点:

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

2. 变量有作用域的概念


image.png


image.png


本节比较简单,轻松通过,下节见。



#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。
扫码加本站公众号

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«   2021年2月   »
1234567
891011121314
15161718192021
22232425262728
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:

Powered By Z-BlogPHP 1.6.0 Valyria

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864