WF4.0 应用篇(四) IActivityToolboxService 自动化工具栏
WF4.0 应用篇(四) IActivityToolboxService 自动化工具栏
例子下载: http://files.cnblogs.com/foundation/IActivityToolboxServiceSample.rar
System.Activities.Presentation.IActivityToolboxService
在设计工作流的创时,
可以实现工具栏的上下文相关
如当一个Activity被添加到工作流中后,会自动在工具栏中显示与该Activity相关的Activity
当这个Activity从工作流中移除时,会自动在工具栏中隐藏相关的Activity
实现思路如下:
1.为Activity添加一个Designer
2.override Designer的 OnModelItemChanged方法
3.在 OnModelItemChanged方法内用IActivityToolboxService向工具栏添加关联的Activity
4.关联Activity的移除是自动完成的,不用代码
例
定义[myActivity],[myActivityOne],[myActivityTwo]
当向流程中添加[myActivity]时[myActivityOne],[myActivityTwo]自动出现在工具栏中
当这个[myActivity]从工作流中移除时,会自动在工具栏中隐藏[myActivityOne],[myActivityTwo]
myActivityOne myActivityTwo |
任意 |
myActivity |
[System.ComponentModel.Designer(typeof(myActivityDesigner))] public sealed class myActivity : CodeActivity { public InArgument<string> Text { get; set; } protected override void Execute(CodeActivityContext context) { string text = context.GetValue(this.Text); } } |
myActivityDesigner |
<sap:ActivityDesigner x:Class="IActivityToolboxServiceSample.myActivityDesigner" 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"> <Grid> </Grid> </sap:ActivityDesigner> |
public partial class myActivityDesigner { public myActivityDesigner() { InitializeComponent(); } protected override void OnModelItemChanged(object newItem) { base.OnModelItemChanged(newItem); System.Activities.Presentation.IActivityToolboxService toolboxService = (System.Activities.Presentation.IActivityToolboxService)this.Context.Services.GetService(typeof(System.Activities.Presentation.IActivityToolboxService)); toolboxService.AddCategory("myActivity自定义选卡"); toolboxService.AddItem("IActivityToolboxServiceSample.myActivityOne,IActivityToolboxServiceSample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" , "myActivity自定义选卡"); oolboxService.AddItem("IActivityToolboxServiceSample.myActivityTwo,IActivityToolboxServiceSample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" , "myActivity自定义选卡"); } } |
|
IActivityToolboxServiceSample.myActivityOne,IActivityToolboxServiceSample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 的查看 |
使用
转载于:https://www.cnblogs.com/foundation/archive/2010/05/13/1734284.html
WF4.0 应用篇(四) IActivityToolboxService 自动化工具栏相关推荐
- WF4.0 基础篇 (三十 完) 对学习WF的一点建议
从09年10月份 NET4.0 Bata 2发布后,我就开始写[WF4.0 基础篇]这个系列,经历了5个多月终于在NET4.0正式发布前将这个系列完成了 这段时间与一些对WF4.0感兴趣的公司与开发人 ...
- [转]WF4.0 基础篇 (一)开始使用WF
本文转自:http://www.cnblogs.com/foundation/archive/2009/10/26/1589993.html 来博客园写WF主题博客已经3年了, 在园子里认识了很多朋友 ...
- WF4.0 基础篇 (二) Activity介绍及WriteLine Activity的使用
从本篇开始,将正式讲解WF4.0,本文主要涉及如下内容:Activity介绍, WF4.0 中工作流的结构,通过WriteLine演示InArgument<T>参数的使用 目录 1 ...
- WF4.0 基础篇 (十四) Delay 与WF4中的线程
本节主要介绍WF的实例是单线程运行的,Delay并不是Thread.Sleep,Parallel是单线程运行的,WorkflowApplication与WorkflowInvoker在调用流程上的区别 ...
- WF4.0 基础篇 (二十六) Interop调用WF3.X的Activity
本节主要介绍Interop调用WF3.X的Activity 本文例子下载: http://files.cnblogs.com/foundation/InteropSample.rar 本文例子说明 I ...
- WF4.0 基础篇 (十八) Flowchar
本节主要介绍WF4 中 Flowchart的使用 本文例子下载: http://files.cnblogs.com/foundation/FlowcharSample.rar 本文例子说明 Flowc ...
- WF4.0 基础篇 (三) 流程实例WorkflowApplication与设计WF程序的基本原则
通过本节,可以初步了解WF程序的特性,为以后的WF类应用开发提供一个初步的感性认识 目录 1 流程实例WorkflowApplication与设计WF程序的基本原则 1 1.1 流程 ...
- WF4.0 基础篇 (二十八) WF调用PowerShell
PowerShell 提供了命令行管理系统的功能,但通常情况下,操作人员要完成某种业务需要多组PowerShell 命令,这样会很烦琐,错误率也比效高.操作人员可以编写powerShell脚本来组织命 ...
- WF4.0 基础篇 (二十九) WorkflowInspectionServices
本文例子下载: http://files.cnblogs.com/foundation/WorkflowInspectionServicesSample.rar WorkflowInspectionS ...
最新文章
- .NET 数据访问架构指南(转)
- Sql sever 分组排序
- opencv C++ 三重for循环遍历RGB图像像素(逐像素操作、操作像素值、遍历像素遍历)at<typename>(i,j)、灰度图at<uchar>、at<Vec3b>、at<Vec3F>
- 高级Bash脚本编程指南《Advanced Bash-Scripting Guide》 in Chinese
- [Redis6]配置文件详解
- 64位 linux 32位连接器,32位汇编程序在64位Ubuntu上的汇编和连接
- air英语怎么读_如何用英语发音“Macbook Air”
- 记Hadoop HA高可用性分布式集群搭建过程
- MySql批量插入语句(INSERT)
- Chrome浏览器调用摄像头拍照
- mate50 鸿蒙,华为Mate50Pro概念机:瀑布环绕屏+鸿蒙系统,就算涨价我也劝你买...
- “前首富”牟其中:欠的人情太多,要留着命来还
- 富瑞和SMBC Group宣布结成战略联盟来推动增长
- Zookeeper特点及理解
- 一文说透企业风险管理的三大要素分别是什么
- 分享史上Java最牛逼,最简短的代码
- Unity UI Text组件添加contentsizefitter后获取RectTransform宽度
- 《PHP挖宝》2—Symfony包介绍
- harmonyos导师姓名,HarmonyOS开发者创新大赛颁奖礼 见证星星之火燃爆盛夏
- java测试开发工程师,必须要明白的几处知识(附面试问题)
热门文章
- 折纸机器人的步骤图解_儿童节特辑丨为你精选二十款超好玩的折纸玩具,这么多总有你的菜!...
- C++11构造与禁用默认函数
- 华为畅享8的悬浮窗在哪里_5000mAh大电池,华为畅享20 SE发布,谈谈配置
- 主存储器与CPU的连接
- 关于优酷开放SDK视频播放功能的解析
- 引用类型String的操作
- MySQL为其他用户创建数据库_MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限...
- 应用程序连接Oracle rac的URL写法
- oracle查询中表的连接顺序 手工指定
- python使用openpyxl操作excel总结