4

Par exemple si vous créez votre propre activité appelée Run10Times qui exécute son activité enfant 10 fois, pouvez-vous avoir un concepteur qui contient un canevas auquel l'utilisateur peut mettre l'activité enfant?Comment créer un concepteur d'activité pouvant contenir une activité enfant?

Je sais comment créer un concepteur d'activités standard et ajouter une expressiontextbox, mais je ne sais pas comment ajouter un canevas dans lequel l'utilisateur peut placer des activités enfants.

Répondre

6

Vous devez ajouter le contrôle WorkflowItemPresenter à votre concepteur d'activités.

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> 
Questions connexes