2009-12-03 124 views
3

假设我有一个具有2个依赖项属性的工作流:Prop1,Prop2。工作流自定义活动构建工作流参数

我想创建一个自定义活动,当我拖入工作流时,它将在设计器的属性网格中显示Prop1和Prop2。

这可能吗?

与invokeWorkflow类似,当您选择TargetWorkflow时,它会使用工作流的参数填充属性网格,以便您可以进行绑定。

+0

你指的是什么技术? – 2009-12-03 16:43:36

+0

看起来像工作流程基础 – 2009-12-03 16:50:36

+0

是微软的工作流程基础 – pdiddy 2009-12-03 16:58:23

回答

2

你可以尝试这样的事:

http://blogs.microsoft.co.il/blogs/bursteg/archive/2006/10/29/DynamicWorkflowBindingParameters.aspx

我已经做了相当多的在设计时挖掘到动态创建的属性,我已经取得了一些成功的。

但是,我还没有能够获得动态属性显示在实际的属性绑定显示。因此,您可以在设计器中动态创建属性并设置它们,但可以将其他属性设置为指向动态属性。

这似乎是visual studio中工作流设计器的限制。我看不到工作流引擎本身无法处理这个问题的原因。

0

您不需要执行任何操作,默认情况下所有公共属性都显示在属性网格中。

+0

但这些都是工作流程的属性。我希望我的活动能够在设计器中检测和显示工作流属性,以便通过我的自定义活动来绑定到工作流属性。 – pdiddy 2009-12-04 13:06:40

+0

听起来好像您在问自己的自定义活动如何显示自定义活动所在的工作流祖先所定义的依赖项属性。然而,这似乎是一个bizare要求,你能解释为什么会需要这样的事情吗?我认为这是可以做到的,但我在质疑努力是否值得。 – AnthonyWJones 2009-12-13 22:20:33

0

如果你像这样定义你的属性中的每一个,绑定应提供:

[DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)] 
[BrowsableAttribute(true)] 
[CategoryAttribute("Parameters")] 
public static readonly DependencyProperty CustomParamProperty 
    = DependencyProperty.Register("CustomParam", typeof(int), typeof(CustomActivityClass)); 

public int CustomParam 
{ 
    get { return (int)GetValue(CustomParamProperty); } 
    set {SetValue(CustomParamProperty, value); } 
} 

祝您好运!

相关问题