DesignerGlyph 客製化 (裝飾圖形)
- 覆寫
GetBounds 回傳矩形邊界
- 覆寫
OnPaint 繪製自訂圖形
簡單活動外觀客製化
- 覆寫
OnLayoutSize:回傳設計器尺寸
- 覆寫
OnPaint:繪製基本外觀
- 覆寫
GetBounds:回傳圖形邊界矩形
修改設計器佈局 (子活動定位)
- 覆寫
OnLayoutSize:計算整體尺寸
- 覆寫
OnLayoutPosition:計算子活動偏移位置
設計器主題
- 實作專屬
ActivityDesignerTheme
- 以
[ActivityDesignerTheme(typeof(MyTheme))] 屬性注入
OnPaint 中呼叫 Theme 繪製
工具箱項目客製化
- 預設對應
ActivityToolboxItem (via ToolboxItemAttribute)
- 特殊需求 (如拖放建立複合控制項) → 繼承
ActivityToolboxItem 覆寫 CreateComponentsCore
ToolboxBitmapAttribute:設定工具箱顯示圖示
駐留設計器架構
Designer Surface (設計器介面)
- 管理 Designer Host
- 管理使用者互動 (取得 View、Host)
- 非同步載入設計器載入器
Designer Host 職責
- 管理
IComponent 與 IDesigner 互動
- 服務容器:提供復原、剪貼簿等設計器所需服務
事件生命週期
event EventHandler Activated; // 設計器啟用
event EventHandler Deactivated; // 設計器停用
event EventHandler LoadComplete; // 文件載入完成
事務管理與元件管理
- 事務:支援設計時操作的復原/重做
- 元件:
CreateComponent、GetDesigner、GetType