我希望在WF 4.5
中创建自定义复合活动问题陈述:
使用一些预定义的属性和变量创建自定义活动。 开发人员应该能够将此活动用作基础,并将其他开箱即用/自定义活动拖放到其中。
我在网上查看了各种样本,我发现以下样本完全符合我的需要。
http://msdn.microsoft.com/en-us/library/Aa480200
然而,似乎在WF 4.5中,上述示例中提到的类已被弃用。 有没有办法在WF 4.5中实现上面的示例?
显示如何在WF 4.5中完成此操作的任何链接文章或示例都会有所帮助。
答案 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 ,因此它会像其他任何活动一样显示在工具箱上。