Comment créer un concepteur d'activité qui peut contenir une activité enfant?
-
29-09-2019 - |
Question
Par exemple, si vous créez votre propre activité, les Run10Times qui dirige son activité enfant 10 fois, pouvez-vous avoir un designer qui contient une toile à laquelle l'utilisateur peut mettre l'activité de l'enfant?
Je sais comment créer un concepteur d'activité standard, et ajouter un expressiontextbox, mais ne savez pas comment ajouter une toile à laquelle l'utilisateur peut mettre les activités des enfants.
La solution
Vous devez ajouter le contrôle de WorkflowItemPresenter à votre concepteur d'activité.
Supposons que vous ayez une activité comme celle-ci:
[Designer(typeof(MyCompositeDesigner))]
public class MyComposite : NativeActivity
{
public Activity Body { get; set; }
protected override void Execute(NativeActivityContext context)
{
context.ScheduleActivity(Body);
}
}
vous créez concepteur comme ceci:
<sap:ActivityDesigner x:Class="WorkflowConsoleApplication3.MyCompositeDesigner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation">
<StackPanel>
<TextBlock Text="Activity to execute:"
Margin="6"/>
<sap:WorkflowItemPresenter Item="{Binding Path=ModelItem.Body, Mode=TwoWay}"
HintText="Drop Activity"
/>
</StackPanel>
</sap:ActivityDesigner>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow