TemplatedControlDesigner Class
TOC
Collapse the table of content
Expand the table of content

TemplatedControlDesigner Class

 

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:
© 2016 Microsoft