Workflow Foundation 4 第九課 - 活动设计器
来源:互联网 发布:太平洋软件站免费下载 编辑:程序博客网 时间:2024/05/18 00:37
选择 Workflow 模板并选择 活动库。将项目命名为 HelloWorkflow.Activities。
2、先删除 Activity1.xaml,然后右键单击 HelloWorkflow.Activities 项目并选择 添加 / 新建项 (Ctrl+Shift+A)
从 Workflow 模板中选择 代码活动 并将其命名为 PrePostSequence
3、 PrePostSequence 类原先内容:
把它删除,然后替换如下:
4、先建一个项目,选择 Workflow 模板并选择 活动设计器库。将项目命名为 HelloWorkflow.Activities.Designers
5、删除 ActivityDesigner1.xaml,右键单击 HelloWorkflow.Activities.Designers 项目并选择 添加 / 新建项
从 Workflow 模板中选择 活动设计器 并将其命名为 PrePostSequenceDesigner
6、生成的模板如下:
使用以下内容替换模板 XAML
<sap:ActivityDesigner x:Class="HelloWorkflow.Activities.Designers.PrePostSequenceDesigner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"
xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation">
<StackPanel>
<Border BorderBrush="Green" BorderThickness="4" CornerRadius="5">
<sap:WorkflowItemPresenter Item="{Binding Path=ModelItem.Pre, Mode=TwoWay}" HintText="Insert Pre Activities Here"/>
</Border>
<Border BorderBrush="Red" BorderThickness="4" CornerRadius="5">
<StackPanel>
<Border BorderBrush="Black" BorderThickness="2" CornerRadius="5">
<TextBlock HorizontalAlignment="Center">Activities</TextBlock>
</Border>
<sap:WorkflowItemsPresenter Items="{Binding Path=ModelItem.Activities}" HintText="Insert Activities Here">
<sap:WorkflowItemsPresenter.SpacerTemplate>
<DataTemplate>
<Ellipse Fill="Red" Width="30" Height="30" />
</DataTemplate>
</sap:WorkflowItemsPresenter.SpacerTemplate>
<sap:WorkflowItemsPresenter.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</sap:WorkflowItemsPresenter.ItemsPanel>
</sap:WorkflowItemsPresenter>
</StackPanel>
</Border>
<Border BorderBrush="Black" BorderThickness="4" CornerRadius="5">
<sap:WorkflowItemPresenter Item="{Binding Path=ModelItem.Post, Mode=TwoWay}" HintText="Insert Post Activities Here"/>
</Border>
</StackPanel>
</sap:ActivityDesigner>
其中红色字体是垂直方式,原文选择的是水平,下面左边可以改变方式,右边是展示的界面:
下图是替换完成后,按 CTRL+SHIFT+B 生成解决方案 后的展示:
7、从项目选项卡中,添加对 HelloWorkflow.Activities.Designers 的引用和添加以下命名空间指令及向 PrePostSequence 类添加以下属性
8、右键单击 HelloWorkflow 项目,然后选择 添加引用。从项目选项卡中选择 HelloWorkflow.Activities。按 CTRL+SHIFT+B 生成解决方案。
9、对HelloWorkflow.Tests 项目添加引用 HelloWorkflow.Activities
添加新测试:
10、添加 2 个新的输出参数来保存 PrePostSequence 的 Pre 和 Post 区域的消息
11、将 PrePostSequence 拖到 Finally 活动下方:
12、从工具箱中的基元组中将 Assign 活动拖到 Pre Activities 区域上并设置属性 To:PreMessage Value:"This is Pre-Sequence"
将另一个 Assign 活动拖到 Post Activities 区域上并设置属性 To:PostMessage Value:"This is Post-Sequence"
13、将两个 Assign 活动拖到 PrePostSequence 下方的红点活动区域中
14、按 CTRL+SHIFT+B 生成解决方案、按 Ctrl+R, A 运行所有测试,可以看到所有测试都能够通过
- Workflow Foundation 4 第九課 - 活动设计器
- Windows Workflow Foundation:创建自定义复合活动
- Windows Workflow Foundation:创建自定义复合活动 转自MSDN
- 跟我一起学Windows Workflow Foundation(4)-----使用Listen,Delay,和其他envnt-based定制活动
- Silverlight workflow 设计器
- Windows Workflow Foundation(四)——(创建自定义活动)
- [转帖]Windows Workflow Foundation之旅(五)——指南3(创建自定义活动)
- Windows Workflow Foundation之旅(五)——指南3(创建自定义活动)
- 跟我一起学Windows Workflow Foundation(6)-----制作一个基本的定制活动
- 跟我一起学Windows Workflow Foundation(7)-----给定制活动添加有效性验证
- 跟我一起学Windows Workflow Foundation(6)-----制作一个基本的定制活动(发邮件)
- 跟我一起学Windows Workflow Foundation(6)-----制作一个基本的定制活动(发邮件)
- 跟我一起学Windows Workflow Foundation(5)-----使用activity设计器创建一个整合的定制activity
- 跟我一起学Windows Workflow Foundation(3)-----使用If/Else活动,定制活动处理工作流,使用事件传递数据
- Microsoft Windows Workflow Foundation
- [转帖]Windows Workflow Foundation
- MS Workflow Foundation
- Windows Workflow Foundation
- Java之serialVersionUID
- js获取系统当前日期或当前日期-7天的"yyyy-MM-dd"表示形式
- 不要自称为程序员【转自 阮一峰 的个人博客】
- android ExpandableListView
- “WriteHuge”: 不是“CFile”的成员
- Workflow Foundation 4 第九課 - 活动设计器
- uva 10055 Hashmat the Brave Warrior
- 地址映射问题
- 显示系统时间,网络时间转为本地时间
- apt-get -f install 修复失败!
- 求字符串的全排列
- 1120
- Java基础概念讲解 白璐博客
- 聊天记录,哈哈。