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 自动化工具栏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET代码编写规范 整理
- 下一篇: makefile实例【转载】