共用方式為


實作 Web Form 樣板編輯器

樣板編輯器是具有特殊用途的設計工具,它支援建立樣板和編輯樣板化 ASP.NET 伺服器控制項。具有樣板編輯器的控制項會提供設計介面,網頁開發人員可從工具箱拖放控制項至其上以建立內嵌 (Inline) 樣板。.NET Framework SDK 的 DataListDataGrid 伺服器控制項是支援樣板編輯的控制項範例。如需撰寫樣板化的控制項的詳細資訊,請參閱開發樣板化的控制項

.NET Framework 提供抽象基底類別 (System.Web.UI .Design.TemplatedControlDesigner),後者衍生自 ControlDesigner,並公開樣板編輯所需的屬性和方法。樣板編輯器必須衍生自 TemplatedControlDesigner。下列程序說明實作樣板編輯器的主要步驟。

若要實作樣板編輯器

  1. 定義衍生自 TemplatedControlDesigner 的類別。

  2. 覆寫衍生自 ControlDesignerAllowResize 屬性以便調整控制項的大小。建議控制項在樣板模式中允許調整控制項大小,即使通常是不允許調整大小。

  3. 覆寫 GetCachedTemplateEditingVerbs 方法。控制項會覆寫這個方法來傳回適用於控制項的樣板編輯動詞命令 (Verb) 清單。請參閱步驟 4 以取得樣板編輯動作的說明。

  4. 覆寫 CreateTemplateEditingFrame 方法。這個方法將 TemplateEditingVerb 執行個體 (Instance) 視為引數。TemplateEditingVerb 為設計工具動詞命令 (衍生自 DesignerVerb 的類別),可啟用樣板編輯器在設計階段新增命令到控制項。如需設計工具動詞命令的相關背景資訊,請參閱設計工具動詞命令

  5. 覆寫取得樣板內容的 GetTemplateContent 方法。

  6. 覆寫設定樣板內容的 SetTemplateContent 方法。

  7. 和其他設計工具一樣,覆寫繼承自 ControlDesigner 類別的 GetDesignTimeHtmlGetEmptyDesignTimeHtmlGetEmptyDesignTimeHtml 方法。如果樣板化的控制項為資料繫結,覆寫的 GetDesignTimeHtml 方法必須設定控制項的資料來源為設計階段資料來源,就如同實作 Web Form 資料繫結控制項設計工具中的說明。

    如果樣板化的控制項為資料繫結,您必須同時實作實作 Web Form 資料繫結控制項設計工具所說明的步驟,以及覆寫下列其他 TemplatedControlDesigner 方法 (在步驟 8 和 9 中有所說明)。

  8. 覆寫 GetTemplateContainerDataSource 方法來提供樣板容器資料來源。這項作業會在編輯樣版中的控制項資料繫結時,從資料繫結對話呼叫而來。

  9. 覆寫 GetTemplateContainerDataItemProperty 方法來存取樣板容器的 DataItem 屬性名稱。

如需樣板編輯器的範例說明,請參閱 Web Form 樣板化資料繫結控制項設計工具範例

請參閱

Web Form 樣板化資料繫結控制項設計工具範例 | 實作 Web Form 資料繫結設計工具 | 自訂設計工具 | Web Form 的設計階段支援