WF4争议作为财产

时间:2011-04-06 14:59:44

标签: properties workflow-foundation-4 variable-assignment arguments

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

那说,并且知道我需要缩小设计师可以传递的内容,如果不使用活动设计师我怎么能这样做?或者我在哪里可以找到答案?

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

The error I'm getting

提前致谢。

3 个答案:

答案 0 :(得分:0)

InArgument仅显示文本字段而不是复选框的原因是因为它们是表达式而不是文字值。仍然有类型检查,如果输入值1,则会收到错误消息,即整数无法转换为布尔值。

答案 1 :(得分:0)

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

如果绑定InArgument并查看xaml,您会看到如下内容:

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

Workflow Runtime知道如何处理这些。它不知道如何处理绑定POCO属性。

答案 2 :(得分:0)

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