我有两个具有各自ActivityDesigner的自定义NativeActivity (根和最终):

在根NativeActivity中,我有:
[ContentProperty("Body")]
[Designer(typeof(RootActivityDesigner))]
public class RootActivity : NativeActivity
{
public Activity Body { get; set; }
protected override void Execute(NativeActivityContext context)
{
if (this.Body != null)
{
context.ScheduleActivity(this.Body);
}
}
}我最后得到的NativeActivity是:
[Designer(typeof(FinalActivityDesigner))]
public class FinalActivity : NativeActivity
{
protected override void Execute(NativeActivityContext context)
{
//Do Stuff
}
}因此,当我创建一个新的工作流时,我首先拖动RootActivity,然后在Root Body中拖动其他活动,除了没有执行的FinalActivity之外,所有的工作都很好,所以"do stuff“不会命中。
怎么啦?
我也要为FinalActivity调用context.ScheduleActivity(this.Body);吗?
非常感谢!
发布于 2012-03-14 21:11:25
FinalActivity位于树中的什么位置。从设计器上看,它看起来像是RootActivity的一部分,但它的源代码不包含对FinalActivity anywhere的引用。
发布于 2012-03-14 22:07:47
我不知道期末考试在哪里,也不知道期末考试是什么,但你得想办法安排一下。如果RootActivity是控制实体,那么您可能会这样做
public class RootActivity : NativeActivity
{
public Activity Body { get; set; }
public Activity Final { get; set; }
protected override void Execute(NativeActivityContext context)
{
if (this.Body != null)
{
context.ScheduleActivity(this.Body, OnBodyComplete);
}
}
// callback fired after Body completes execution
private void OnBodyComplete(NativeActivityContext context,
ActivityInstance completedInstance)
{
context.ScheduleActivity(Final);
}
}https://stackoverflow.com/questions/9701620
复制相似问题