首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

WF 框架設計器篇(三):ActivityDesigner 進階客製化與佈局控制

     編輯:關於C語言

DesignerGlyph 客製化 (裝飾圖形)

  • 覆寫 GetBounds 回傳矩形邊界
  • 覆寫 OnPaint 繪製自訂圖形

簡單活動外觀客製化

  • 覆寫 OnLayoutSize:回傳設計器尺寸
  • 覆寫 OnPaint:繪製基本外觀
  • 覆寫 GetBounds:回傳圖形邊界矩形

修改設計器佈局 (子活動定位)

  • 覆寫 OnLayoutSize:計算整體尺寸
  • 覆寫 OnLayoutPosition:計算子活動偏移位置

設計器主題

  1. 實作專屬 ActivityDesignerTheme
  2. 以 [ActivityDesignerTheme(typeof(MyTheme))] 屬性注入
  3. 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
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved