1

我希望在 WF 4.5 中创建自定义复合活动

问题陈述:

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

我查看了网上的各种样本,发现以下样本正是我需要的。

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

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

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

4

1 回答 1

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,因此它会像任何其他活动一样显示在工具箱上。

于 2013-10-09T13:26:06.500 回答