Как создать дизайнера деятельности, который может содержать дочернюю деятельность?

StackOverflow https://stackoverflow.com/questions/4122865

Вопрос

Например, если вы создаете свою собственную деятельность под названием Run10times, которая выполняет свою дочернюю деятельность в 10 раз, можете ли у вас есть дизайнер, который содержит холст, на который пользователь может поставить дочернюю деятельность?

Я знаю, как создать стандартный дизайнер активности и добавить ExpressyTextbox, но не уверен, как добавить холст, к которому пользователь может поставить дочерние действия.

Это было полезно?

Решение

Вам нужно добавить управление рабочим процессом для дизайнера деятельности.

Предположим, у вас есть такая деятельность:

[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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top