在ActivityBuilder中使用DynamicActivityProperty作为OutArgument

时间:2010-12-08 12:19:15

标签: workflow workflow-foundation workflow-foundation-4 workflow-activity

问候,

我正在尝试使用ActivityBuilder创建工作流,然后获取XAML。 此流使用自定义活动(WaitForInput)来处理书签。该类继承自NativeActivity。

我很难找到一种设置WaitForInput活动的'Result'属性的方法,该活动需要OutArgument。

VS设计师创建相同的工作流程,我可以将布尔属性'MyResult'InOutArgument与'wrapper'相关联。像这样:[Wrapper.MyResult]

我会通过代码执行此操作,根据我的研究,我必须使用DynamicActivityProperty。 问题是我不知道在这种情况下如何使用我的DynamicActivityProperty作为OutArgument。

这是代码的简化版本:

        var wrapper = new DynamicActivityProperty
                    {
                        Name = "Wrapper",
                        Type = typeof(InOutArgument<CommunicationWrapper>),
                    };

        var activityBuilder = new ActivityBuilder();
        activityBuilder.Properties.Add(wrapper);

        var step1 = new FlowStep
        {
            //here's my problem
            Action = new WaitForInput<bool> { BookmarkName = "step1", Result = ??? }
        };

        var flow =  new Flowchart
        {
            StartNode = step1,
            Nodes = { step1 }
        };

1 个答案:

答案 0 :(得分:0)

我已经为自己的问题找到了解决方案

Result = new OutArgument<bool>(new VisualBasicReference<bool> 
                { ExpressionText = "Wrapper.MyResult" }); }