TemplatedControlDesigner Class
Extends design-time behavior for template-based server controls.
System.ComponentModel.Design.ComponentDesigner
System.Web.UI.Design.HtmlControlDesigner
System.Web.UI.Design.ControlDesigner
System.Web.UI.Design.TemplatedControlDesigner
System.Web.UI.Design.WebControls.BaseDataListDesigner
Namespace: System.Web.UI.Design
Assembly: System.Design (in System.Design.dll)
The TemplatedControlDesigner type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | TemplatedControlDesigner | Initializes a new instance of the TemplatedControlDesigner class. |
| Name | Description | |
|---|---|---|
![]() | ActionLists | Gets the action list collection for the control designer. (Inherited from ControlDesigner.) |
![]() | ActiveTemplateEditingFrame | Obsolete. Gets the active template editing frame. |
![]() | AllowResize | Gets a value indicating whether the control can be resized in the design-time environment. (Inherited from ControlDesigner.) |
![]() | AssociatedComponents | Gets the collection of components associated with the component managed by the designer. (Inherited from ComponentDesigner.) |
![]() | AutoFormats | Gets the collection of predefined automatic formatting schemes to display in the Auto Format dialog box for the associated control at design time. (Inherited from ControlDesigner.) |
![]() | Behavior | Obsolete. Gets or sets the DHTML behavior that is associated with the designer. (Inherited from HtmlControlDesigner.) |
![]() | CanEnterTemplateMode | Gets a value indicating whether or not this designer will allow the viewing or editing of templates. |
![]() | Component | Gets the component this designer is designing. (Inherited from ComponentDesigner.) |
![]() | DataBindings | Gets the data bindings collection for the current control. (Inherited from HtmlControlDesigner.) |
![]() | DataBindingsEnabled | Infrastructure. Gets a value indicating whether the designer allows data binding. (Overrides ControlDesigner.DataBindingsEnabled.) |
![]() | DesignerState | Gets an object that is used to persist data for the associated control at design time. (Inherited from ControlDesigner.) |
![]() | DesignTimeElement | Obsolete. Gets the design-time object representing the control that is associated with the HtmlControlDesigner object on the design surface. (Inherited from HtmlControlDesigner.) |
![]() | DesignTimeElementView | Obsolete. Gets the view-control object for the control designer. (Inherited from ControlDesigner.) |
![]() | DesignTimeHtmlRequiresLoadComplete | Obsolete. Gets a value indicating whether the design host must finish loading before the GetDesignTimeHtml method can be called. (Inherited from ControlDesigner.) |
![]() | Expressions | Gets the expression bindings for the current control at design time. (Inherited from HtmlControlDesigner.) |
![]() | HidePropertiesInTemplateMode | Infrastructure. Gets a value indicating whether the properties of the associated control are hidden when the control is in template mode. (Inherited from ControlDesigner.) |
![]() | ID | Gets or sets the ID string for the control. (Inherited from ControlDesigner.) |
![]() | InheritanceAttribute | Gets an attribute that indicates the type of inheritance of the associated component. (Inherited from ComponentDesigner.) |
![]() | Inherited | Gets a value indicating whether this component is inherited. (Inherited from ComponentDesigner.) |
![]() | InTemplateMode | Obsolete. Gets a value indicating whether the designer document is in template mode. |
![]() | IsDirty | Obsolete. Gets or sets a value indicating whether the Web server control has been marked as changed. (Inherited from ControlDesigner.) |
![]() | ParentComponent | Gets the parent component for this designer. (Inherited from ComponentDesigner.) |
![]() | ReadOnly | Obsolete. Gets or sets a value indicating whether the properties of the control are read-only at design time. (Inherited from ControlDesigner.) |
![]() | RootDesigner | Gets the control designer for the Web Forms page that contains the associated control. (Inherited from ControlDesigner.) |
![]() | ShadowProperties | Gets a collection of property values that override user settings. (Inherited from ComponentDesigner.) |
![]() | ShouldCodeSerialize | Obsolete. Gets or sets a value indicating whether to create a field declaration for the control in the code-behind file for the current design document during serialization. (Inherited from HtmlControlDesigner.) |
![]() | Tag | Gets an object representing the HTML markup element for the associated control. (Inherited from ControlDesigner.) |
![]() | TemplateGroups | Gets a collection of template groups, each containing a template definition. (Overrides ControlDesigner.TemplateGroups.) |
![]() | UsePreviewControl | Gets a value indicating whether the control designer uses a temporary preview control to generate the design-time HTML markup. (Inherited from ControlDesigner.) |
![]() | Verbs | Gets the design-time verbs supported by the component that is associated with the designer. (Inherited from ComponentDesigner.) |
![]() | ViewControl | Gets or sets a Web server control that can be used for previewing the design-time HTML markup. (Inherited from ControlDesigner.) |
![]() | ViewControlCreated | Gets or sets a value indicating whether a View control has been created for display on the design surface. (Inherited from ControlDesigner.) |
![]() | Visible | Gets a value that indicates whether the control is visible at design time. (Inherited from ControlDesigner.) |
| Name | Description | |
|---|---|---|
![]() | CreateErrorDesignTimeHtml(String) | Creates HTML markup to display a specified error message at design time. (Inherited from ControlDesigner.) |
![]() | CreateErrorDesignTimeHtml(String, Exception) | Creates the HTML markup to display a specified exception error message at design time. (Inherited from ControlDesigner.) |
![]() | CreatePlaceHolderDesignTimeHtml() | Provides a simple rectangular placeholder representation that displays the type and ID of the control. (Inherited from ControlDesigner.) |
![]() | CreatePlaceHolderDesignTimeHtml(String) | Provides a simple rectangular placeholder representation that displays the type and ID of the control, and also additional specified instructions or information. (Inherited from ControlDesigner.) |
![]() | CreateTemplateEditingFrame | Obsolete. When overridden in a derived class, creates a template editing frame for the specified verb. |
![]() | CreateViewControl | Returns a copy of the associated control for viewing or rendering on the design surface. (Inherited from ControlDesigner.) |
![]() | Dispose() | Releases all resources used by the ComponentDesigner. (Inherited from ComponentDesigner.) |
![]() | Dispose(Boolean) | Releases the unmanaged resources that are used by the HtmlControlDesigner object and optionally releases the managed resources. (Inherited from HtmlControlDesigner.) |
![]() | DoDefaultAction | Creates a method signature in the source code file for the default event on the component and navigates the user's cursor to that location. (Inherited from ComponentDesigner.) |
![]() | EnterTemplateMode | Obsolete. Opens a particular template frame object for editing in the designer. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | ExitTemplateMode | Obsolete. Closes the currently active template editing frame after saving any relevant changes. |
![]() | Finalize | Attempts to free resources by calling Dispose(false) before the object is reclaimed by garbage collection. (Inherited from ComponentDesigner.) |
![]() | GetBounds | Retrieves the coordinates of the rectangle representing the boundaries for the control as displayed on the design surface. (Inherited from ControlDesigner.) |
![]() | GetCachedTemplateEditingVerbs | Obsolete. Gets the cached template editing verbs. |
![]() | GetDesignTimeHtml() | Retrieves the HTML markup that is used to represent the control at design time. (Inherited from ControlDesigner.) |
![]() | GetDesignTimeHtml(DesignerRegionCollection) | Retrieves the HTML markup to display the control and populates the collection with the current control designer regions. (Inherited from ControlDesigner.) |
![]() | GetEditableDesignerRegionContent | Returns the content for an editable region of the design-time view of the associated control. (Inherited from ControlDesigner.) |
![]() | GetEmptyDesignTimeHtml | Retrieves the HTML markup to represent a Web server control at design time that will have no visual representation at run time. (Inherited from ControlDesigner.) |
![]() | GetErrorDesignTimeHtml | Retrieves the HTML markup that provides information about the specified exception. (Inherited from ControlDesigner.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetPersistenceContent | Retrieves the persistable inner HTML markup of the control at design time. (Inherited from ControlDesigner.) |
![]() | GetPersistInnerHtml | Obsolete. Retrieves the persistable inner HTML markup of the control. (Inherited from ControlDesigner.) |
![]() | GetService | Attempts to retrieve the specified type of service from the design mode site of the designer's component. (Inherited from ComponentDesigner.) |
![]() | GetTemplateContainerDataItemProperty | Obsolete. Gets the data item property of the template's container. |
![]() | GetTemplateContainerDataSource | Obsolete. Gets the data source of the template's container. |
![]() | GetTemplateContent | Obsolete. When overridden in a derived class, gets the template's content. |
![]() | GetTemplateEditingVerbs | Obsolete. Gets the template editing verbs available to the designer. |
![]() | GetTemplateFromText | Creates a template from the specified text. |
![]() | GetTemplatePropertyParentType | Obsolete. Gets the type of the parent of the template property. |
![]() | GetTextFromTemplate | Gets a string of text that represents the specified template. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GetViewRendering() | Retrieves an object that contains the design-time markup for the content and regions of the associated control. (Inherited from ControlDesigner.) |
![]() | Initialize | Initializes the designer and loads the specified component. (Overrides ControlDesigner.Initialize(IComponent).) |
![]() | InitializeExistingComponent | Reinitializes an existing component. (Inherited from ComponentDesigner.) |
![]() | InitializeNewComponent | Initializes a newly created component. (Inherited from ComponentDesigner.) |
![]() | InitializeNonDefault | Obsolete. Initializes the settings for an imported component that is already initialized to settings other than the defaults. (Inherited from ComponentDesigner.) |
![]() | Invalidate() | Invalidates the whole area of the control that is displayed on the design surface and signals the control designer to redraw the control. (Inherited from ControlDesigner.) |
![]() | Invalidate(Rectangle) | Invalidates the specified area of the control that is displayed on the design surface and signals the control designer to redraw the control. (Inherited from ControlDesigner.) |
![]() | InvokeGetInheritanceAttribute | Gets the InheritanceAttribute of the specified ComponentDesigner. (Inherited from ComponentDesigner.) |
![]() | IsPropertyBound | Obsolete. Retrieves a value indicating whether the specified property on the associated control is data-bound. (Inherited from ControlDesigner.) |
![]() | Localize | Uses the provided resource writer to persist the localizable properties of the associated control to a resource in the design host. (Inherited from ControlDesigner.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | OnAutoFormatApplied | Called when a predefined, automatic formatting scheme has been applied to the associated control. (Inherited from ControlDesigner.) |
![]() | OnBehaviorAttached | Obsolete. Provides an opportunity to perform additional processing when a behavior is attached to the designer. (Overrides HtmlControlDesigner.OnBehaviorAttached().) |
![]() | OnBehaviorDetaching | Obsolete. Called when a behavior disassociates from the element. (Inherited from HtmlControlDesigner.) |
![]() | OnBindingsCollectionChanged | Obsolete. Called when the data-binding collection changes. (Inherited from ControlDesigner.) |
![]() | OnClick | Called by the design host when the user clicks the associated control at design time. (Inherited from ControlDesigner.) |
![]() | OnComponentChanged | Delegate to handle the component changed event. (Overrides ControlDesigner.OnComponentChanged(Object, ComponentChangedEventArgs).) |
![]() | OnComponentChanging | Represents the method that will handle the ComponentChanging event for the associated control. (Inherited from ControlDesigner.) |
![]() | OnControlResize | Obsolete. Called when the associated Web server control has been resized in the design host at design time. (Inherited from ControlDesigner.) |
![]() | OnPaint | Called when the control designer draws the associated control on the design surface, if the CustomPaint value is true. (Inherited from ControlDesigner.) |
![]() | OnSetComponentDefaults | Obsolete. Sets the default properties for the component. (Inherited from ComponentDesigner.) |
![]() | OnSetParent | Provides an opportunity to perform additional processing when the parent of this designer is changed. (Overrides HtmlControlDesigner.OnSetParent().) |
![]() | OnTemplateModeChanged | Provides an opportunity to perform additional processing when the template mode is changed. |
![]() | PostFilterAttributes | Allows a designer to change or remove items from the set of attributes that it exposes through a TypeDescriptor. (Inherited from ComponentDesigner.) |
![]() | PostFilterEvents | Allows a designer to change or remove items from the set of events that it exposes through a TypeDescriptor. (Inherited from ComponentDesigner.) |
![]() | PostFilterProperties | Allows a designer to change or remove items from the set of properties that it exposes through a TypeDescriptor. (Inherited from ComponentDesigner.) |
![]() | PreFilterAttributes | Allows a designer to add to the set of attributes that it exposes through a TypeDescriptor. (Inherited from ComponentDesigner.) |
![]() | PreFilterEvents | Sets the list of events that are exposed at design-time for the TypeDescriptor object for the component. (Inherited from HtmlControlDesigner.) |
![]() | PreFilterProperties | Adds properties to or removes properties from the Properties grid in a design host at design time or provides new design-time properties that might correspond to properties on the associated control. (Inherited from ControlDesigner.) |
![]() | RaiseComponentChanged | Notifies the IComponentChangeService that this component has been changed. (Inherited from ComponentDesigner.) |
![]() | RaiseComponentChanging | Notifies the IComponentChangeService that this component is about to be changed. (Inherited from ComponentDesigner.) |
![]() | RaiseResizeEvent | Obsolete. Raises the OnControlResize event. (Inherited from ControlDesigner.) |
![]() | RegisterClone | Registers internal data in a cloned control. (Inherited from ControlDesigner.) |
![]() | SaveActiveTemplateEditingFrame | Saves the active template editing frame. |
![]() | SetEditableDesignerRegionContent | Specifies the content for an editable region of the control at design time. (Inherited from ControlDesigner.) |
![]() | SetRegionContent | Specifies the content for an editable region in the design-time view of the control. (Inherited from ControlDesigner.) |
![]() | SetTemplateContent | Obsolete. When overridden in a derived class, sets the specified template's content to the specified content. |
![]() | SetViewFlags | Assigns the specified bitwise ViewFlags enumeration to the specified flag value. (Inherited from ControlDesigner.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | UpdateDesignTimeHtml | Updates the design-time HTML. (Overrides ControlDesigner.UpdateDesignTimeHtml().) |
Although this class is not obsolete, it is unnecessary because template-editing features have been built into ControlDesigner.
The following code example demonstrates how to create a control designer class that uses templates and derives from the ControlDesigner class.
To run the example, compile the code, and then in a design host such as Visual Studio 2005, view the page in Design view. Select the control, click the action list to select a template to modify, and then use the drag-and-drop feature to move controls into the template.
Note |
|---|
Your project must have a reference to the System.Design assembly. |
using System; using System.ComponentModel; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.Design; namespace ASPNet.Design.Samples { // Set an attribute reference to the designer, and define // the HTML markup that the toolbox will write into the source. [Designer(typeof(TemplateGroupsSampleDesigner)), ToolboxData("<{0}:TemplateGroupsSample runat=server></{0}:TemplateGroupsSample>")] public sealed class TemplateGroupsSample : WebControl, INamingContainer { // Field for the templates private ITemplate[] _templates; // Constructor public TemplateGroupsSample() { _templates = new ITemplate[4]; } // For each template property, set the designer attributes // so the property does not appear in the property grid, but // changes to the template are persisted in the control. [Browsable(false), PersistenceMode(PersistenceMode.InnerProperty)] public ITemplate Template1 { get { return _templates[0]; } set { _templates[0] = value; } } [Browsable(false), PersistenceMode(PersistenceMode.InnerProperty)] public ITemplate Template2 { get { return _templates[1]; } set { _templates[1] = value; } } [Browsable(false), PersistenceMode(PersistenceMode.InnerProperty)] public ITemplate Template3 { get { return _templates[2]; } set { _templates[2] = value; } } [Browsable(false), PersistenceMode(PersistenceMode.InnerProperty)] public ITemplate Template4 { get { return _templates[3]; } set { _templates[3] = value; } } protected override void CreateChildControls() { // Instantiate each template inside a panel // then add the panel to the Controls collection for (int i = 0; i < 4; i++) { Panel pan = new Panel(); _templates[i].InstantiateIn(pan); this.Controls.Add(pan); } } } // Designer for the TemplateGroupsSample control public class TemplateGroupsSampleDesigner : ControlDesigner { TemplateGroupCollection col = null; public override void Initialize(IComponent component) { // Initialize the base base.Initialize(component); // Turn on template editing SetViewFlags(ViewFlags.TemplateEditing, true); } // Add instructions to the placeholder view of the control public override string GetDesignTimeHtml() { return CreatePlaceHolderDesignTimeHtml("Click here and use " + "the task menu to edit the templates."); } public override TemplateGroupCollection TemplateGroups { get { if (col == null) { // Get the base collection col = base.TemplateGroups; // Create variables TemplateGroup tempGroup; TemplateDefinition tempDef; TemplateGroupsSample ctl; // Get reference to the component as TemplateGroupsSample ctl = (TemplateGroupsSample)Component; // Create a TemplateGroup tempGroup = new TemplateGroup("Template Set A"); // Create a TemplateDefinition tempDef = new TemplateDefinition(this, "Template A1", ctl, "Template1", true); // Add the TemplateDefinition to the TemplateGroup tempGroup.AddTemplateDefinition(tempDef); // Create another TemplateDefinition tempDef = new TemplateDefinition(this, "Template A2", ctl, "Template2", true); // Add the TemplateDefinition to the TemplateGroup tempGroup.AddTemplateDefinition(tempDef); // Add the TemplateGroup to the TemplateGroupCollection col.Add(tempGroup); // Create another TemplateGroup and populate it tempGroup = new TemplateGroup("Template Set B"); tempDef = new TemplateDefinition(this, "Template B1", ctl, "Template3", true); tempGroup.AddTemplateDefinition(tempDef); tempDef = new TemplateDefinition(this, "Template B2", ctl, "Template4", true); tempGroup.AddTemplateDefinition(tempDef); // Add the TemplateGroup to the TemplateGroupCollection col.Add(tempGroup); } return col; } } // Do not allow direct resizing unless in TemplateMode public override bool AllowResize { get { if (this.InTemplateMode) return true; else return false; } } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

