2014-02-19 61 views
1

我使用此代碼在Designer中創建工具欄,但它不像最終狀態那樣檢索狀態機的所有元素。加載狀態機所有元素的正確名稱空間是什麼?在工作流重新設計設計器中加載StateMachine元素

private static ToolboxControl CreateToolboxControlshahram() { 
    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 > 0) 
     toolbox.Categories.Add(cat); 

    return toolbox; 
} 

private static IEnumerable<ToolboxItemWrapper> ToolboxItemWrappers(Assembly assembly, string @namespace) { 
    if (assembly == null) { 
     throw new ArgumentNullException("assembly"); 
    } 
    if (string.IsNullOrEmpty(@namespace)) { 
     return Enumerable.Empty<ToolboxItemWrapper>(); 
    } 

    var q = from type in assembly.GetTypes() 
      where string.Equals(type.Namespace, @namespace) 
      && type.IsPublic && !type.IsNested && !type.IsAbstract 
      && type.GetConstructor(Type.EmptyTypes) != null 
      orderby type.Name 
      select new ToolboxItemWrapper(type); 
    return q; 
} 

回答

1

終於讓我找到最終狀態: 最終狀態是不同的裝配和我有隻寫此代碼

ToolboxItemWrapper(typeof (System.Activities.Core.Presentation.FinalState)) 
+0

由於加在我的 工具箱此,被具有相同問題 – JohnChris

相關問題