当前位置:编程学习 > C#/ASP.NET >>

怎样获得 WWF 工作流的属性及连接关系

我按照微软提供的 工作流 Samples 设计了用户 工作流设计器, 我想获取 用户 添加了哪个activity,别并且 用户修改后的activity Name 是什么, activity 的连接关系等, 用于在数据库里保存, 请哪位高手指点一下. --------------------编程问答-------------------- 问题:我按照微软提供的 工作流 Samples 设计了用户 工作流设计器, 我想获取 用户 添加了哪个activity,别并且 用户修改后的activity Name 是什么, activity 的连接关系等, 用于在数据库里保存, 请哪位高手指点一下.

答案:如果你使用ActivityDesigner做你的base class,那么你可以使用OnActivityChanged这个事件。

这里我实现了一个很简单的一个Activity连同它的Designer。

using System.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.Windows.Forms;
using System;
using System.Workflow.ComponentModel;

[Designer(typeof(WriteLineDesigner))]
public partial class WriteLine : Activity
{
    static DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(string), typeof(WriteLine));

    public string Text
    {
        get { return (string)GetValue(TextProperty); }
        set { SetValue(TextProperty, value); }
    }

    protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
    {
        Console.WriteLine("Output from workflow: " + Text);
        return ActivityExecutionStatus.Closed;
    }
}

public class WriteLineDesigner : ActivityDesigner
{
    protected override void OnActivityChanged(ActivityChangedEventArgs e)
    {
        // You can see the change here.
        MessageBox.Show("" + e.Member);
        MessageBox.Show("" + e.OldValue);
        MessageBox.Show("" + e.NewValue);
    }
}

我们这个Designer非常简单,这些MessageBox可以换成需要把这些数据写到数据库的代码。
补充:.NET技术 ,  .NET Framework
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,