TemplatedControlDesigner Class

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Extends design-time behavior for template-based server controls.

Namespace:   System.Web.UI.Design
Assembly:  System.Design (in System.Design.dll)


[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public abstract class TemplatedControlDesigner : ControlDesigner

NameDescription
System_CAPS_pubmethodTemplatedControlDesigner()

Initializes a new instance of the TemplatedControlDesigner class.

NameDescription
System_CAPS_pubpropertyActionLists

Gets the action list collection for the control designer.(Inherited from ControlDesigner.)

System_CAPS_pubpropertyActiveTemplateEditingFrame

Obsolete. Gets the active template editing frame.

System_CAPS_pubpropertyAllowResize

Gets a value indicating whether the control can be resized in the design-time environment.(Inherited from ControlDesigner.)

System_CAPS_pubpropertyAssociatedComponents

Gets the collection of components associated with the component managed by the designer.(Inherited from ComponentDesigner.)

System_CAPS_pubpropertyAutoFormats

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.)

System_CAPS_pubpropertyBehavior

Obsolete. Gets or sets the DHTML behavior that is associated with the designer.(Inherited from HtmlControlDesigner.)

System_CAPS_pubpropertyCanEnterTemplateMode

Gets a value indicating whether or not this designer will allow the viewing or editing of templates.

System_CAPS_pubpropertyComponent

Gets the component this designer is designing.(Inherited from ComponentDesigner.)

System_CAPS_pubpropertyDataBindings

Gets the data bindings collection for the current control.(Inherited from HtmlControlDesigner.)

System_CAPS_protpropertyDataBindingsEnabled

This API supports the product infrastructure and is not intended to be used directly from your code. Gets a value indicating whether the designer allows data binding. (Overrides ControlDesigner.DataBindingsEnabled.)

System_CAPS_protpropertyDesignerState

Gets an object that is used to persist data for the associated control at design time.(Inherited from ControlDesigner.)

System_CAPS_protpropertyDesignTimeElement

Obsolete. Gets the design-time object representing the control that is associated with the HtmlControlDesigner object on the design surface.(Inherited from HtmlControlDesigner.)

System_CAPS_protpropertyDesignTimeElementView

Obsolete. Gets the view-control object for the control designer.(Inherited from ControlDesigner.)

System_CAPS_pubpropertyDesignTimeHtmlRequiresLoadComplete

Obsolete. Gets a value indicating whether the design host must finish loading before the GetDesignTimeHtml method can be called.(Inherited from ControlDesigner.)

System_CAPS_pubpropertyExpressions

Gets the expression bindings for the current control at design time.(Inherited from HtmlControlDesigner.)

System_CAPS_protpropertyHidePropertiesInTemplateMode

This API supports the product infrastructure and is not intended to be used directly from your code. Gets a value indicating whether the properties of the associated control are hidden when the control is in template mode.(Inherited from ControlDesigner.)

System_CAPS_pubpropertyID

Gets or sets the ID string for the control.(Inherited from ControlDesigner.)

System_CAPS_protpropertyInheritanceAttribute

Gets an attribute that indicates the type of inheritance of the associated component.(Inherited from ComponentDesigner.)

System_CAPS_protpropertyInherited

Gets a value indicating whether this component is inherited.(Inherited from ComponentDesigner.)

System_CAPS_pubpropertyInTemplateMode

Obsolete. Gets a value indicating whether the designer document is in template mode.

System_CAPS_pubpropertyIsDirty

Obsolete. Gets or sets a value indicating whether the Web server control has been marked as changed.(Inherited from ControlDesigner.)

System_CAPS_protpropertyParentComponent

Gets the parent component for this designer.(Inherited from ComponentDesigner.)

System_CAPS_pubpropertyReadOnly

Obsolete. Gets or sets a value indicating whether the properties of the control are read-only at design time.(Inherited from ControlDesigner.)

System_CAPS_protpropertyRootDesigner

Gets the control designer for the Web Forms page that contains the associated control.(Inherited from ControlDesigner.)

System_CAPS_protpropertyShadowProperties

Gets a collection of property values that override user settings.(Inherited from ComponentDesigner.)

System_CAPS_pubpropertyShouldCodeSerialize

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.)

System_CAPS_protpropertyTag

Gets an object representing the HTML markup element for the associated control.(Inherited from ControlDesigner.)

System_CAPS_pubpropertyTemplateGroups

Gets a collection of template groups, each containing a template definition.(Overrides ControlDesigner.TemplateGroups.)

System_CAPS_protpropertyUsePreviewControl

Gets a value indicating whether the control designer uses a temporary preview control to generate the design-time HTML markup.(Inherited from ControlDesigner.)

System_CAPS_pubpropertyVerbs

Gets the design-time verbs supported by the component that is associated with the designer.(Inherited from ComponentDesigner.)

System_CAPS_pubpropertyViewControl

Gets or sets a Web server control that can be used for previewing the design-time HTML markup.(Inherited from ControlDesigner.)

System_CAPS_pubpropertyViewControlCreated

Gets or sets a value indicating whether a View control has been created for display on the design surface.(Inherited from ControlDesigner.)

System_CAPS_protpropertyVisible

Gets a value that indicates whether the control is visible at design time.(Inherited from ControlDesigner.)

NameDescription
System_CAPS_protmethodCreateErrorDesignTimeHtml(String)

Creates HTML markup to display a specified error message at design time.(Inherited from ControlDesigner.)

System_CAPS_protmethodCreateErrorDesignTimeHtml(String, Exception)

Creates the HTML markup to display a specified exception error message at design time.(Inherited from ControlDesigner.)

System_CAPS_protmethodCreatePlaceHolderDesignTimeHtml()

Provides a simple rectangular placeholder representation that displays the type and ID of the control.(Inherited from ControlDesigner.)

System_CAPS_protmethodCreatePlaceHolderDesignTimeHtml(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.)

System_CAPS_protmethodCreateTemplateEditingFrame(TemplateEditingVerb)

Obsolete. When overridden in a derived class, creates a template editing frame for the specified verb.

System_CAPS_protmethodCreateViewControl()

Returns a copy of the associated control for viewing or rendering on the design surface.(Inherited from ControlDesigner.)

System_CAPS_pubmethodDispose()

Releases all resources used by the ComponentDesigner.(Inherited from ComponentDesigner.)

System_CAPS_protmethodDispose(Boolean)

Releases the unmanaged resources that are used by the HtmlControlDesigner object and optionally releases the managed resources.(Inherited from HtmlControlDesigner.)

System_CAPS_pubmethodDoDefaultAction()

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.)

System_CAPS_pubmethodEnterTemplateMode(ITemplateEditingFrame)

Obsolete. Opens a particular template frame object for editing in the designer.

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodExitTemplateMode(Boolean, Boolean, Boolean)

Obsolete. Closes the currently active template editing frame after saving any relevant changes.

System_CAPS_protmethodFinalize()

Attempts to free resources by calling Dispose(false) before the object is reclaimed by garbage collection.(Inherited from ComponentDesigner.)

System_CAPS_pubmethodGetBounds()

Retrieves the coordinates of the rectangle representing the boundaries for the control as displayed on the design surface.(Inherited from ControlDesigner.)

System_CAPS_protmethodGetCachedTemplateEditingVerbs()

Obsolete. Gets the cached template editing verbs.

System_CAPS_pubmethodGetDesignTimeHtml()

Retrieves the HTML markup that is used to represent the control at design time.(Inherited from ControlDesigner.)

System_CAPS_pubmethodGetDesignTimeHtml(DesignerRegionCollection)

Retrieves the HTML markup to display the control and populates the collection with the current control designer regions.(Inherited from ControlDesigner.)

System_CAPS_pubmethodGetEditableDesignerRegionContent(EditableDesignerRegion)

Returns the content for an editable region of the design-time view of the associated control.(Inherited from ControlDesigner.)

System_CAPS_protmethodGetEmptyDesignTimeHtml()

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.)

System_CAPS_protmethodGetErrorDesignTimeHtml(Exception)

Retrieves the HTML markup that provides information about the specified exception. (Inherited from ControlDesigner.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetPersistenceContent()

Retrieves the persistable inner HTML markup of the control at design time.(Inherited from ControlDesigner.)

System_CAPS_pubmethodGetPersistInnerHtml()

Obsolete. Retrieves the persistable inner HTML markup of the control.(Inherited from ControlDesigner.)

System_CAPS_protmethodGetService(Type)

Attempts to retrieve the specified type of service from the design mode site of the designer's component.(Inherited from ComponentDesigner.)

System_CAPS_pubmethodGetTemplateContainerDataItemProperty(String)

Obsolete. Gets the data item property of the template's container.

System_CAPS_pubmethodGetTemplateContainerDataSource(String)

Obsolete. Gets the data source of the template's container.

System_CAPS_pubmethodGetTemplateContent(ITemplateEditingFrame, String, Boolean)

Obsolete. When overridden in a derived class, gets the template's content.

System_CAPS_pubmethodGetTemplateEditingVerbs()

Obsolete. Gets the template editing verbs available to the designer.

System_CAPS_protmethodGetTemplateFromText(String)

Creates a template from the specified text.

System_CAPS_pubmethodGetTemplatePropertyParentType(String)

Obsolete. Gets the type of the parent of the template property.

System_CAPS_protmethodGetTextFromTemplate(ITemplate)

Gets a string of text that represents the specified template.

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodGetViewRendering()

Retrieves an object that contains the design-time markup for the content and regions of the associated control.(Inherited from ControlDesigner.)

System_CAPS_pubmethodInitialize(IComponent)

Initializes the designer and loads the specified component.(Overrides ControlDesigner.Initialize(IComponent).)

System_CAPS_pubmethodInitializeExistingComponent(IDictionary)

Reinitializes an existing component.(Inherited from ComponentDesigner.)

System_CAPS_pubmethodInitializeNewComponent(IDictionary)

Initializes a newly created component.(Inherited from ComponentDesigner.)

System_CAPS_pubmethodInitializeNonDefault()

Obsolete. Initializes the settings for an imported component that is already initialized to settings other than the defaults.(Inherited from ComponentDesigner.)

System_CAPS_pubmethodInvalidate()

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.)

System_CAPS_pubmethodInvalidate(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.)

System_CAPS_protmethodInvokeGetInheritanceAttribute(ComponentDesigner)

Gets the InheritanceAttribute of the specified ComponentDesigner.(Inherited from ComponentDesigner.)

System_CAPS_pubmethodIsPropertyBound(String)

Obsolete. Retrieves a value indicating whether the specified property on the associated control is data-bound.(Inherited from ControlDesigner.)

System_CAPS_pubmethodLocalize(IDesignTimeResourceWriter)

Uses the provided resource writer to persist the localizable properties of the associated control to a resource in the design host.(Inherited from ControlDesigner.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodOnAutoFormatApplied(DesignerAutoFormat)

Called when a predefined, automatic formatting scheme has been applied to the associated control.(Inherited from ControlDesigner.)

System_CAPS_protmethodOnBehaviorAttached()

Obsolete. Provides an opportunity to perform additional processing when a behavior is attached to the designer.(Overrides HtmlControlDesigner.OnBehaviorAttached().)

System_CAPS_protmethodOnBehaviorDetaching()

Obsolete. Called when a behavior disassociates from the element.(Inherited from HtmlControlDesigner.)

System_CAPS_protmethodOnBindingsCollectionChanged(String)

Obsolete. Called when the data-binding collection changes.(Inherited from ControlDesigner.)

System_CAPS_protmethodOnClick(DesignerRegionMouseEventArgs)

Called by the design host when the user clicks the associated control at design time.(Inherited from ControlDesigner.)

System_CAPS_pubmethodOnComponentChanged(Object, ComponentChangedEventArgs)

Delegate to handle the component changed event.(Overrides ControlDesigner.OnComponentChanged(Object, ComponentChangedEventArgs).)

System_CAPS_pubmethodOnComponentChanging(Object, ComponentChangingEventArgs)

Represents the method that will handle the ComponentChanging event for the associated control. (Inherited from ControlDesigner.)

System_CAPS_protmethodOnControlResize()

Obsolete. Called when the associated Web server control has been resized in the design host at design time.(Inherited from ControlDesigner.)

System_CAPS_protmethodOnPaint(PaintEventArgs)

Called when the control designer draws the associated control on the design surface, if the CustomPaint value is true.(Inherited from ControlDesigner.)

System_CAPS_pubmethodOnSetComponentDefaults()

Obsolete. Sets the default properties for the component.(Inherited from ComponentDesigner.)

System_CAPS_pubmethodOnSetParent()

Provides an opportunity to perform additional processing when the parent of this designer is changed.(Overrides HtmlControlDesigner.OnSetParent().)

System_CAPS_protmethodOnTemplateModeChanged()

Provides an opportunity to perform additional processing when the template mode is changed.

System_CAPS_protmethodPostFilterAttributes(IDictionary)

Allows a designer to change or remove items from the set of attributes that it exposes through a TypeDescriptor.(Inherited from ComponentDesigner.)

System_CAPS_protmethodPostFilterEvents(IDictionary)

Allows a designer to change or remove items from the set of events that it exposes through a TypeDescriptor.(Inherited from ComponentDesigner.)

System_CAPS_protmethodPostFilterProperties(IDictionary)

Allows a designer to change or remove items from the set of properties that it exposes through a TypeDescriptor.(Inherited from ComponentDesigner.)

System_CAPS_protmethodPreFilterAttributes(IDictionary)

Allows a designer to add to the set of attributes that it exposes through a TypeDescriptor.(Inherited from ComponentDesigner.)

System_CAPS_protmethodPreFilterEvents(IDictionary)

Sets the list of events that are exposed at design-time for the TypeDescriptor object for the component.(Inherited from HtmlControlDesigner.)

System_CAPS_protmethodPreFilterProperties(IDictionary)

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.)

System_CAPS_protmethodRaiseComponentChanged(MemberDescriptor, Object, Object)

Notifies the IComponentChangeService that this component has been changed.(Inherited from ComponentDesigner.)

System_CAPS_protmethodRaiseComponentChanging(MemberDescriptor)

Notifies the IComponentChangeService that this component is about to be changed.(Inherited from ComponentDesigner.)

System_CAPS_pubmethodRaiseResizeEvent()

Obsolete. Raises the OnControlResize event.(Inherited from ControlDesigner.)

System_CAPS_pubmethodRegisterClone(Object, Object)

Registers internal data in a cloned control.(Inherited from ControlDesigner.)

System_CAPS_protmethodSaveActiveTemplateEditingFrame()

Saves the active template editing frame.

System_CAPS_pubmethodSetEditableDesignerRegionContent(EditableDesignerRegion, String)

Specifies the content for an editable region of the control at design time. (Inherited from ControlDesigner.)

System_CAPS_protmethodSetRegionContent(EditableDesignerRegion, String)

Specifies the content for an editable region in the design-time view of the control.(Inherited from ControlDesigner.)

System_CAPS_pubmethodSetTemplateContent(ITemplateEditingFrame, String, String)

Obsolete. When overridden in a derived class, sets the specified template's content to the specified content.

System_CAPS_protmethodSetViewFlags(ViewFlags, Boolean)

Assigns the specified bitwise ViewFlags enumeration to the specified flag value.(Inherited from ControlDesigner.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubmethodUpdateDesignTimeHtml()

Updates the design-time HTML.(Overrides ControlDesigner.UpdateDesignTimeHtml().)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PostFilterAttributes(IDictionary)

For a description of this member, see the IDesignerFilter.PostFilterAttributes method.(Inherited from ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PostFilterEvents(IDictionary)

For a description of this member, see the IDesignerFilter.PostFilterEvents method.(Inherited from ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PostFilterProperties(IDictionary)

For a description of this member, see the IDesignerFilter.PostFilterProperties method.(Inherited from ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PreFilterAttributes(IDictionary)

For a description of this member, see the IDesignerFilter.PreFilterAttributes method.(Inherited from ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PreFilterEvents(IDictionary)

For a description of this member, see the IDesignerFilter.PreFilterEvents method.(Inherited from ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIDesignerFilter.PreFilterProperties(IDictionary)

For a description of this member, see the IDesignerFilter.PreFilterProperties method.(Inherited from ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyITreeDesigner.Children

For a description of this member, see the ITreeDesigner.Children property.(Inherited from ComponentDesigner.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyITreeDesigner.Parent

For a description of this member, see the ITreeDesigner.Parent property.(Inherited from ComponentDesigner.)

Notes to Inheritors:

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.

System_CAPS_noteNote

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;
            }
        }
    }
}
<%@ Page Language="VB" %>
<%@ Register TagPrefix="aspSample" 
    Namespace="ASPNet.Design.Samples" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

       <aspSample:TemplateGroupsSample runat="server" ID="TGSample1">
       </aspSample:TemplateGroupsSample>

    </div>
    </form>
</body>
</html>

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: