0

我的方案如下: 我有一个工作流程(让我们称之为customActivity1)为我的系统做基本动作。我还有另一个使用customActivity1并执行更高级别操作的工作流程(customActivity2)。当我调用customActivity1时,我必须传递一些参数,如布尔值或字符串值。我想将这些参数中的一些显示为复选框或组合框(所以customActivity2的开发人员只能传递有效值),并发现我可以通过将参数设置为PROPERTY(而不是In)来实现此目的。 通过研究,我也发现你不能直接在表达式中使用这个参数,所以我不断收到我的customActivity1错误。WF4作为属性的参数

这就是说,并知道我需要缩小设计师可以传递的信息,我怎么能这样做,而不使用活动设计器或我在哪里可以找到答案?

我还附上了两张照片,其中一张是我需要的,另一张是我得到的错误。 What I need

The error I'm getting

在此先感谢。

+0

您不清楚“我还有另一个使用customActivity1的工作流程(customActivity2)”是什么意思(使用?how?is CA2放置在CA1中?)以及你的意思是“传递”(你是否希望将CA1中的InArgument绑定到CA2中定义的公共变量?) – Will 2011-04-06 15:52:59

+0

我的意思是CA1位于CA2内部。通过“传递”我的意思是将CA2公共变量绑定到CA1参数。问题是我想在CA1上使用Properties而不是InArguments – 2011-04-06 16:36:01

回答

0

InArgument只显示文本字段而不显示复选框的原因是因为它们是表达式而不是字面值。尽管如此,仍然有类型检查,如果输入值1,则会显示错误消息,指出整数不能转换为布尔值。

0

你不能这样做。您只能绑定到InArguments。

如果绑定的InArgument,并期待在XAML中,你会看到这样的事情:

<p1:MyActivity MyInArgument="[BoundValue]" ... 

工作流运行时知道如何处理这些。它不知道如何处理绑定POCO属性。

0

如果您想建模数据流,但希望在属性网格中具有不同的用户体验,我推荐使用参数(因为它们传达数据流语义)并为这些参数定制属性网格。有一个示例演示了如何在WF4示例中执行此操作(示例自述文件位于http://msdn.microsoft.com/en-us/library/ee834515.aspx