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 自动化工具栏相关推荐

  1. WF4.0 基础篇 (三十 完) 对学习WF的一点建议

    从09年10月份 NET4.0 Bata 2发布后,我就开始写[WF4.0 基础篇]这个系列,经历了5个多月终于在NET4.0正式发布前将这个系列完成了 这段时间与一些对WF4.0感兴趣的公司与开发人 ...

  2. [转]WF4.0 基础篇 (一)开始使用WF

    本文转自:http://www.cnblogs.com/foundation/archive/2009/10/26/1589993.html 来博客园写WF主题博客已经3年了, 在园子里认识了很多朋友 ...

  3. WF4.0 基础篇 (二) Activity介绍及WriteLine Activity的使用

    从本篇开始,将正式讲解WF4.0,本文主要涉及如下内容:Activity介绍, WF4.0 中工作流的结构,通过WriteLine演示InArgument<T>参数的使用 目录 1     ...

  4. WF4.0 基础篇 (十四) Delay 与WF4中的线程

    本节主要介绍WF的实例是单线程运行的,Delay并不是Thread.Sleep,Parallel是单线程运行的,WorkflowApplication与WorkflowInvoker在调用流程上的区别 ...

  5. WF4.0 基础篇 (二十六) Interop调用WF3.X的Activity

    本节主要介绍Interop调用WF3.X的Activity 本文例子下载: http://files.cnblogs.com/foundation/InteropSample.rar 本文例子说明 I ...

  6. WF4.0 基础篇 (十八) Flowchar

    本节主要介绍WF4 中 Flowchart的使用 本文例子下载: http://files.cnblogs.com/foundation/FlowcharSample.rar 本文例子说明 Flowc ...

  7. WF4.0 基础篇 (三) 流程实例WorkflowApplication与设计WF程序的基本原则

    通过本节,可以初步了解WF程序的特性,为以后的WF类应用开发提供一个初步的感性认识 目录 1    流程实例WorkflowApplication与设计WF程序的基本原则    1 1.1    流程 ...

  8. WF4.0 基础篇 (二十八) WF调用PowerShell

    PowerShell 提供了命令行管理系统的功能,但通常情况下,操作人员要完成某种业务需要多组PowerShell 命令,这样会很烦琐,错误率也比效高.操作人员可以编写powerShell脚本来组织命 ...

  9. WF4.0 基础篇 (二十九) WorkflowInspectionServices

    本文例子下载: http://files.cnblogs.com/foundation/WorkflowInspectionServicesSample.rar WorkflowInspectionS ...

最新文章

  1. .NET 数据访问架构指南(转)
  2. Sql sever 分组排序
  3. opencv C++ 三重for循环遍历RGB图像像素(逐像素操作、操作像素值、遍历像素遍历)at<typename>(i,j)、灰度图at<uchar>、at<Vec3b>、at<Vec3F>
  4. 高级Bash脚本编程指南《Advanced Bash-Scripting Guide》 in Chinese
  5. [Redis6]配置文件详解
  6. 64位 linux 32位连接器,32位汇编程序在64位Ubuntu上的汇编和连接
  7. air英语怎么读_如何用英语发音“Macbook Air”
  8. 记Hadoop HA高可用性分布式集群搭建过程
  9. MySql批量插入语句(INSERT)
  10. Chrome浏览器调用摄像头拍照
  11. mate50 鸿蒙,华为Mate50Pro概念机:瀑布环绕屏+鸿蒙系统,就算涨价我也劝你买...
  12. “前首富”牟其中:欠的人情太多,要留着命来还
  13. 富瑞和SMBC Group宣布结成战略联盟来推动增长
  14. Zookeeper特点及理解
  15. 一文说透企业风险管理的三大要素分别是什么
  16. 分享史上Java最牛逼,最简短的代码
  17. Unity UI Text组件添加contentsizefitter后获取RectTransform宽度
  18. 《PHP挖宝》2—Symfony包介绍
  19. harmonyos导师姓名,HarmonyOS开发者创新大赛颁奖礼 见证星星之火燃爆盛夏
  20. java测试开发工程师,必须要明白的几处知识(附面试问题)

热门文章

  1. 折纸机器人的步骤图解_儿童节特辑丨为你精选二十款超好玩的折纸玩具,这么多总有你的菜!...
  2. C++11构造与禁用默认函数
  3. 华为畅享8的悬浮窗在哪里_5000mAh大电池,华为畅享20 SE发布,谈谈配置
  4. 主存储器与CPU的连接
  5. 关于优酷开放SDK视频播放功能的解析
  6. 引用类型String的操作
  7. MySQL为其他用户创建数据库_MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限...
  8. 应用程序连接Oracle rac的URL写法
  9. oracle查询中表的连接顺序 手工指定
  10. python使用openpyxl操作excel总结