This designer supports the template editing features that allow you to enter template information into a control at design-time. These features include a slew of methods for creating a template-editing frame, updating the control properties and design-time HTML accordingly, and providing context menu verbs. System.Web.UI.Design.WebControls.BaseDataListDesigner inherits from this class.
public abstract class TemplatedControlDesigner : ControlDesigner { // Public Constructors public TemplatedControlDesigner( ); // Public Instance Properties public ITemplateEditingFrame ActiveTemplateEditingFrame{get; } public bool CanEnterTemplateMode{get; } public bool InTemplateMode{get; } // Protected Instance Properties protected virtual bool HidePropertiesInTemplateMode{get; } // Public Instance Methods public void EnterTemplateMode(ITemplateEditingFrame newTemplateEditingFrame); public void ExitTemplateMode(bool fSwitchingTemplates, bool fNested, bool fSave); public override string GetPersistInnerHtml( ); // overrides ControlDesigner public virtual string GetTemplateContainerDataItemProperty(string templateName); public virtual IEnumerable GetTemplateContainerDataSource(string templateName); public abstract string GetTemplateContent(ITemplateEditingFrame editingFrame, string templateName, out bool allowEditing); public TemplateEditingVerb[ ] GetTemplateEditingVerbs( ); public virtual Type GetTemplatePropertyParentType(string templateName); public override void OnComponentChanged(object sender, System.ComponentModel.Design.ComponentChangedEventArgs ce); // overrides ControlDesigner public override void OnSetParent( ); // overrides HtmlControlDesigner public abstract void SetTemplateContent(ITemplateEditingFrame editingFrame, string templateName, string templateContent); public override void UpdateDesignTimeHtml( ); // overrides ControlDesigner// Protected Instance Methods protected abstract ITemplateEditingFrame CreateTemplateEditingFrame(TemplateEditingVerb verb); protected abstract TemplateEditingVerb[ ] GetCachedTemplateEditingVerbs( ); protected ITemplate GetTemplateFromText(string text); protected string GetTextFromTemplate(System.Web.UI.ITemplate template); protected override void OnBehaviorAttached( ); // overrides ControlDesigner protected virtual void OnTemplateModeChanged( ); protected override void PreFilterProperties(System.Collections.IDictionary properties); // overrides ControlDesigner protected void SaveActiveTemplateEditingFrame( ); }