WF随笔系列之三 --- Code Activity 专题
系列目录:WF随笔系列之三 Out-of-the-Box Activities 专题目录
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();
}
}
{
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