4
例如,如果您創建了自己的稱爲Run10Times的活動,該活動運行了其子活動10次,您是否可以擁有一個設計器,其中包含用戶可以將子活動放入的畫布?如何創建一個可以包含兒童活動的活動設計器?
我知道如何創建一個標準的活動設計器,並添加一個表達式文本框,但不知道如何添加一個用戶可以放置子活動的畫布。
例如,如果您創建了自己的稱爲Run10Times的活動,該活動運行了其子活動10次,您是否可以擁有一個設計器,其中包含用戶可以將子活動放入的畫布?如何創建一個可以包含兒童活動的活動設計器?
我知道如何創建一個標準的活動設計器,並添加一個表達式文本框,但不知道如何添加一個用戶可以放置子活動的畫布。
您需要將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>