WF 4.5:创建自定义复合活动

时间:2013-10-09 12:52:00

标签: workflow-foundation-4 workflow-foundation

我希望在WF 4.5

中创建自定义复合活动

问题陈述:

使用一些预定义的属性和变量创建自定义活动。 开发人员应该能够将此活动用作基础,并将其他开箱即用/自定义活动拖放到其中。

我在网上查看了各种样本,我发现以下样本完全符合我的需要。

http://msdn.microsoft.com/en-us/library/Aa480200

然而,似乎在WF 4.5中,上述示例中提到的类已被弃用。 有没有办法在WF 4.5中实现上面的示例?

显示如何在WF 4.5中完成此操作的任何链接文章或示例都会有所帮助。

1 个答案:

答案 0 :(得分:1)

在WF4中,复合活动可以通过IActivityTemplateFactory

实现
public sealed class CompositeActivity : IActivityTemplateFactory
{
    public Activity Create(DependencyObject target)
    {
        return new Sequence
        {
            Variables = {
                new Variable<string>("MyStringVar"),
                new Variable<int>("MyIntegerVar")
            },
            Activities = {
                new WriteLine { Text = "My first activity within the composite" },
                new Delay { Duration = new InArgument<TimeSpan>(a => TimeSpan.FromSeconds(5)) },
                new WriteLine { Text = "My third activity within the composite" }
            }
        };
    }
}

设计人员知道 IActivityTemplateFactory ,因此它会像其他任何活动一样显示在工具箱上。