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.
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 ( );
}