在Property Grid中公开活动的参数集合

时间:2012-01-04 17:57:59

标签: visual-studio-2010 workflow-foundation-4 designer propertygrid

来自WF ADO.NET Activity Pack CTP 1

ExecuteSqlQuery活动为其Parameters媒体提供了一个很好的对话框。我想对我的自定义活动使用相同的方法,以便用户能够在设计模式中指定任意数量的参数,并将每个参数绑定到表达式。有没有办法使用这个现有的对话框?

Collection Property Designer

1 个答案:

答案 0 :(得分:1)

DynamicActivityDialog提供此功能:

ModelItem modelItem = this.ModelItem.Properties["Arguments"].Dictionary;
using (ModelEditingScope change = modelItem.BeginEdit("ArgumentsEditing"))
{
    if (DynamicArgumentDialog.ShowDialog(this.ModelItem, modelItem, Context, this.ModelItem.View, options))
    {
        change.Complete();
    }
    else
    {
        change.Revert();
    }
}

在活动中,您必须拥有初始化属性:

public Dictionary<string, Argument> Arguments {get; private set;}

您可以在显示预定义itens的对话框之前填充Dictionary<string, Argument>