子どもの活動を封じ込めることができるアクティビティデザイナーを作成する方法は?
-
29-09-2019 - |
質問
たとえば、子どものアクティビティを10回実行するRun10Timesと呼ばれる独自のアクティビティを作成した場合、ユーザーが子供のアクティビティを配置できるキャンバスを含むデザイナーを持つことができますか?
標準のアクティビティデザイナーを作成し、ExpressionTextBoxを追加する方法を知っていますが、ユーザーが子供のアクティビティを配置できるキャンバスを追加する方法がわかりません。
解決
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>
所属していません StackOverflow