原文地址:http://blogs.msdn.com/kushals/archive/2009/09/16/iactivitytoolboxservice.aspx
在工作流的创作过程中,客户都希望他们的工具箱是上下文相关的。例如一个特定的活动被添加到工作流中,然后确保需要在工具箱中显示几个其他的活动,或者
活动从工作流中移除时,工具箱也要根据领域的需求做出适当的反应。
当然在重新宿主的工作流设计器中,这些都是很容易做到的,因为你可以控制工具箱控件并且能确保其根据工作流中的模型变化而更改。
然而,在VS中工具箱是一个特定的控件,我们需要借助IActivityToolboxService来完成该目的:
public interface IActivityToolboxService
{
void AddCategory(string categoryName);
void RemoveCategory(string categoryName);
void AddItem(string qualifiedTypeName, string categoryName);
void RemoveItem(string qualifiedTypeName, string categoryName);
IList<string> EnumCategories();
IList<string> EnumItems(string categoryName);
}