Как создать конструктор действий, который может содержать дочернее действие?
Например, если вы создаете свое собственное действие Run10Times, которое запускает свое дочернее действие 10 раз, может ли у вас быть конструктор, содержащий холст, на который пользователь может поместить дочернее действие?
Я знаю, как создать стандартный конструктор действий и добавить expressiontextbox, но не знаю, как добавить холст, на который пользователь может поместить дочерние действия.
1 ответ:
Необходимо добавить элемент управления WorkflowItemPresenter в конструктор действий.
Предположим, что у вас есть такая деятельность:
[Designer(typeof(MyCompositeDesigner))] public class MyComposite : NativeActivity { public Activity Body { get; set; } protected override void Execute(NativeActivityContext context) { context.ScheduleActivity(Body); } }
Вы бы создали дизайнера вот так:
<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>