title: How to create toolbox same as the toolbox for workflow designer?
body: <p>I'm trying to build a toolbox just same as the one for workflow designer. All the workflow activities/elements should be listed in 10 categories of activity designers
  (Control Flow, Flowchart, State Machine, Messaging, Runtime, Primitives, Transaction, Collection, Error Handling, Migration).</p>
  
  <p>I have tried to load all the activities of workflow from assembly, but there are some problem.</p>
  
  <p>1). Names of activities are not be displayed completely. For example, AddToCollection will be shown as AddToCollection'1. How to show them completely?</p>
  
  <p>2). All the activities are collected in a category 'System.Activities.Statements'. Because i don't know how to group them according to above categories. So i just load the assembly 'System.Activities.Statements' and add all i got in a pot. Any idea to group them?</p>
  
  <pre><code> private static ToolboxControl CreateToolboxControl()
   {
      const string @namespace = "System.Activities.Statements";
      var toolbox = new ToolboxControl();
      var cat = new ToolboxCategory(@namespace);
      ToolboxItemWrappers(typeof(Flowchart).Assembly, @namespace).ToList().ForEach(cat.Add);
      if (cat.Tools.Count &gt; 0)
          toolbox.Categories.Add(cat);
      return toolbox;        
    }
  
    private static IEnumerable&lt;ToolboxItemWrapper&gt; ToolboxItemWrappers(Assembly assembly, string @namespace)
    {
      if (assembly == null)
      {
        throw new ArgumentNullException("assembly");
      }
      if (string.IsNullOrEmpty(@namespace))
      {
          return Enumerable.Empty&lt;ToolboxItemWrapper&gt;();
      }
  
      var q = from type in assembly.GetTypes()
              where string.Equals(type.Namespace, @namespace)
              &amp;&amp; type.IsPublic &amp;&amp; !type.IsNested &amp;&amp; !type.IsAbstract
              &amp;&amp; type.GetConstructor(Type.EmptyTypes) != null
              orderby type.Name
              select new ToolboxItemWrapper(type);
      return q;
    }
  </code></pre>
  
  <p>3). Some activities are not in my list. e.g. All in the category 'Messaging' dosn't exist. How can i get them from assembly or with another way?</p>
  
  <p>Thanks a lot!</p>
  
  <p>Ivan</p>