命名空間 System.ComponentModel.Design。WinForms、ASP.NET、WF 三種設計器皆建構於此基礎之上。WF 設計器相關類別位於 System.Workflow.ComponentModel.Design。
GetService 取得設計器服務。ToolboxItem,支援分類、建立器模式。參考 SharpDevelop 開源專案可深入理解實作細節。
核心概念:每個 Activity 對應一個 ActivityDesigner,配合設計介面 (Designer Surface)。此架構也為未來 Web 版 WF 設計器提供藍圖——ActivityDesigner 保持不變,僅替換宿主環境。
DesignerAttribute 指向 ActivityDesigner。Activity 即可,無需重寫設計器。CompositeActivityDesigner 衍生類(如 ParallelActivityDesigner、SequenceDesigner),呈現不同視覺佈局。PrioritizedInterleaveDesigner 依優先屬性定位子活動)。IExtenderListService 加入 IExtenderProvider,配合 ProvidePropertyAttribute 在 PropertyGrid 暴露屬性。DesignerAttribute 套用自訂設計器。IDesignerVerbProvider 提供右鍵選單命令修改屬性。Glyphs、OnPaint、OnLayoutSize、OnLayoutPosition 自訂繪圖與佈局。ActivityDesignerTheme 並透過 ActivityDesignerThemeAttribute 注入主題樣式。ActivityToolboxItem,特殊需求可繼承並覆寫 CreateComponentsCore。流程設計需持久化。支援序列化為 XAML、程式碼 (CodeDOM)、BPEL/DSL 等。序列化格式可在 Activity Attribute 指定。
TypeCodeDomSerializer:序列化為程式碼。WorkflowMarkupSerializer:序列化為 XAML (XOML)。
若流程包含 CodeActivity 或指定 TypeCodeDomSerializer,需動態生成程式碼,於驗證後、編譯前執行,利用 CodeDOM 產出程式碼檔,最終編譯為 .NET 組件。