系列目录:WF随笔系列之三 Out-of-the-Box Activities 专题目录
Code Activity是WF开发中使用最频繁的Activity之一,它要做工作的很简单,就是把一个或者几个Code Exec 一下,当此行为在执行时,触发一个Handlers:ExecuteCode.
1.Code Activity 简单应用
*此Code,看看即可
public sealed partial class Workflow1 : SequentialWorkflowActivity

{
public Dictionary<int, string> nameList = new Dictionary<int, string>();

public string BadFriend;
public string CloseFriend;

public Workflow1()

{
InitializeComponent();

nameList.Add(1, "Andy");
nameList.Add(2, "Jacky");
nameList.Add(3, "FUChen");
nameList.Add(4, "Brian");

}

private void codeActivity1_ExecuteCode(object sender, EventArgs e)

{
Console.WriteLine("Enter Name : ");
string friend = Console.ReadLine();

Console.WriteLine("Enter Bad Friend :");
this.BadFriend = Console.ReadLine();
Console.WriteLine("Enter Close Friend :");
this.CloseFriend = Console.ReadLine();
}
}

2.Code Activity 自定义应用之自定义属性
创建一个ActivityLibrary,创建完成把BaseClass选择为: System.Workflow.ComponentModel.Activity
既然要自定义,创建属性是一定不能少的。
创建属性:
在较早的版本中是可以进行可视化创建Propertys的,那现在的版本已经采用Code Snippets方式进行创建Custom Property.
具体操作:Ctrl+k Ctrl+X ,选择workflow,DependencyProperty-Property即可生成代码
另外提一下:在类顶部加上ToolboxBitmap可以改变CodeActivty上面显示图示,喜欢自定义图标同志一定喜欢此属性
[ToolboxBitmap(typeof(CodeActivityClass), "XXX.png")]
还有此属性,起什么作用呢,起可编辑的呗。
[Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
最后效果图:
图示1 的Attribute,Code都是自定义上去的。
当然对自定义属性进行其他操作如图示2 ,具体用法,有兴趣可以研究研究。
图示1 图示2
