實作 Web Form 樣板編輯器
樣板編輯器是具有特殊用途的設計工具,它支援建立樣板和編輯樣板化 ASP.NET 伺服器控制項。具有樣板編輯器的控制項會提供設計介面,網頁開發人員可從工具箱拖放控制項至其上以建立內嵌 (Inline) 樣板。.NET Framework SDK 的 DataList 和 DataGrid 伺服器控制項是支援樣板編輯的控制項範例。如需撰寫樣板化的控制項的詳細資訊,請參閱開發樣板化的控制項。
.NET Framework 提供抽象基底類別 (System.Web.UI .Design.TemplatedControlDesigner),後者衍生自 ControlDesigner,並公開樣板編輯所需的屬性和方法。樣板編輯器必須衍生自 TemplatedControlDesigner。下列程序說明實作樣板編輯器的主要步驟。
若要實作樣板編輯器
定義衍生自 TemplatedControlDesigner 的類別。
覆寫衍生自 ControlDesigner 的 AllowResize 屬性以便調整控制項的大小。建議控制項在樣板模式中允許調整控制項大小,即使通常是不允許調整大小。
覆寫 GetCachedTemplateEditingVerbs 方法。控制項會覆寫這個方法來傳回適用於控制項的樣板編輯動詞命令 (Verb) 清單。請參閱步驟 4 以取得樣板編輯動作的說明。
覆寫 CreateTemplateEditingFrame 方法。這個方法將 TemplateEditingVerb 執行個體 (Instance) 視為引數。TemplateEditingVerb 為設計工具動詞命令 (衍生自 DesignerVerb 的類別),可啟用樣板編輯器在設計階段新增命令到控制項。如需設計工具動詞命令的相關背景資訊,請參閱設計工具動詞命令。
覆寫取得樣板內容的 GetTemplateContent 方法。
覆寫設定樣板內容的 SetTemplateContent 方法。
和其他設計工具一樣,覆寫繼承自 ControlDesigner 類別的 GetDesignTimeHtml、GetEmptyDesignTimeHtml 和 GetEmptyDesignTimeHtml 方法。如果樣板化的控制項為資料繫結,覆寫的 GetDesignTimeHtml 方法必須設定控制項的資料來源為設計階段資料來源,就如同實作 Web Form 資料繫結控制項設計工具中的說明。
如果樣板化的控制項為資料繫結,您必須同時實作實作 Web Form 資料繫結控制項設計工具所說明的步驟,以及覆寫下列其他 TemplatedControlDesigner 方法 (在步驟 8 和 9 中有所說明)。
覆寫 GetTemplateContainerDataSource 方法來提供樣板容器資料來源。這項作業會在編輯樣版中的控制項資料繫結時,從資料繫結對話呼叫而來。
覆寫 GetTemplateContainerDataItemProperty 方法來存取樣板容器的 DataItem 屬性名稱。
如需樣板編輯器的範例說明,請參閱 Web Form 樣板化資料繫結控制項設計工具範例。
請參閱
Web Form 樣板化資料繫結控制項設計工具範例 | 實作 Web Form 資料繫結設計工具 | 自訂設計工具 | Web Form 的設計階段支援