TemplateGroupCollection Clase

Definición

Representa una colección de objetos TemplateGroup dentro de un diseñador de controles. Esta clase no puede heredarse.

public ref class TemplateGroupCollection sealed : System::Collections::IList
public sealed class TemplateGroupCollection : System.Collections.IList
type TemplateGroupCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public NotInheritable Class TemplateGroupCollection
Implements IList
Herencia
TemplateGroupCollection
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo definir un diseñador de controles simple derivado de la ControlDesigner clase . El diseñador de controles derivado implementa la TemplateGroups propiedad obteniendo los grupos de plantillas definidos para la clase base y agregando un grupo de plantillas específico del diseñador de controles derivados.

using System;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.ComponentModel;
using System.ComponentModel.Design;

namespace Examples.AspNet
{
    // Define a simple control designer that adds a
    // template group to the template group collection.
    class DerivedControlDesigner : System.Web.UI.Design.ControlDesigner
    {
        private DerivedControl internalControl = null;

        private const String templateGroupName = "My template group";
        private const String templateDefinitionName1 = "First";
        private const String templateDefinitionName2 = "Second";
        private TemplateGroup internalGroup = null;

        // Override the read-only TemplateGroups property.
        // Get the base group collection, and add a group 
        // with two template definitions for the derived
        // control designer.
        public override TemplateGroupCollection TemplateGroups
        {
            get
            {
                // Start with the groups defined by the base designer class.
                TemplateGroupCollection groups = base.TemplateGroups;

                if (internalGroup == null) 
                {
                    // Define a new group with two template definitions.
                    internalGroup = new TemplateGroup(templateGroupName, 
                                                internalControl.ControlStyle);

                    TemplateDefinition templateDef1 = new TemplateDefinition(this, 
                        templateDefinitionName1, internalControl, 
                        templateDefinitionName1, internalControl.ControlStyle);

                    TemplateDefinition templateDef2 = new TemplateDefinition(this, 
                        templateDefinitionName2, internalControl, 
                        templateDefinitionName2, internalControl.ControlStyle);

                    internalGroup.AddTemplateDefinition(templateDef1);
                    internalGroup.AddTemplateDefinition(templateDef2);
                }

                // Add the new template group to the collection.
                groups.Add(internalGroup);

                return groups;
            }
        }
    }

    // Define a simple web control, and associate it with the designer.
    [DesignerAttribute(typeof(DerivedControlDesigner),
                       typeof(IDesigner))]
    public class DerivedControl : WebControl
    {
        // Define derived control behavior here.
    }
}
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports System.ComponentModel
Imports System.ComponentModel.Design

Namespace Examples.AspNet

    ' Define a simple control designer that adds a
    ' template group to the template group collection.
    Class DerivedControlDesigner
        Inherits System.Web.UI.Design.ControlDesigner

        Private Dim internalControl As DerivedControl = Nothing
    
        Private Const templateGroupName As String = "My template group"
        Private Const templateDefinitionName1 As String = "First"
        Private Const templateDefinitionName2 As String = "Second"
        Private Dim internalGroup As TemplateGroup = Nothing

        ' Override the read-only TemplateGroups property.
        ' Get the base group collection, and add a group 
        ' with two template definitions for the derived
        ' control designer.
        Public Overrides ReadOnly Property TemplateGroups As TemplateGroupCollection
            Get

                ' Start with the groups defined by the base designer class.
                Dim groups As TemplateGroupCollection  = MyBase.TemplateGroups

                If internalGroup Is Nothing

                    ' Define a new group with two template definitions.
                    internalGroup = New TemplateGroup(templateGroupName, _
                                                internalControl.ControlStyle)

                    Dim templateDef1 As TemplateDefinition = new TemplateDefinition(Me, _
                        templateDefinitionName1, internalControl, _
                        templateDefinitionName1, internalControl.ControlStyle)

                    Dim templateDef2 As TemplateDefinition = new TemplateDefinition(Me, _
                        templateDefinitionName2, internalControl, _
                        templateDefinitionName2, internalControl.ControlStyle)

                    internalGroup.AddTemplateDefinition(templateDef1)
                    internalGroup.AddTemplateDefinition(templateDef2)

                End If

                ' Add the new template group to the collection.
                groups.Add(internalGroup)

                return groups
            End Get
        End Property

    End Class

    ' Simple Web control, derived from the Web control class.
    <DesignerAttribute(GetType(DerivedControlDesigner), GetType(IDesigner))> _
    Public Class DerivedControl
        Inherits WebControl
        
        ' Define derived control behavior here.
    End Class

End Namespace

Comentarios

La ControlDesigner clase y cualquier clase derivada definen la TemplateGroups propiedad como un TemplateGroupCollection objeto . NormalmenteTemplateGroupCollection, un host de diseño usa la propiedad , como Visual Studio 2005.

La colección aumenta dinámicamente el tamaño a medida que se agregan objetos. Los índices de esta colección se basan en cero. Utilice la Count propiedad para determinar cuántos grupos hay en la colección.

Además, use los TemplateGroupCollection métodos y propiedades para proporcionar la funcionalidad siguiente:

  • Método Add para agregar un único grupo a la colección.

  • Método Insert para agregar un grupo en un índice determinado dentro de la colección.

  • Método Remove para quitar un grupo.

  • Método RemoveAt para quitar el grupo en un índice determinado.

  • Método Contains para determinar si un grupo determinado ya está en la colección.

  • Método IndexOf para recuperar el índice de un grupo dentro de la colección.

  • Indizador Item[] que se va a obtener o establecer el grupo en un índice determinado, mediante la notación de matriz.

  • Método AddRange para agregar varios grupos a la colección.

    Puede agregar varios grupos como una matriz de grupos o como un TemplateGroupCollection objeto que recupere a través de la TemplateGroups propiedad de otro diseñador de controles.

  • Método Clear para quitar todos los grupos de la colección.

Constructores

TemplateGroupCollection()

Inicializa una nueva instancia de la clase TemplateGroupCollection.

Propiedades

Count

Obtiene el número de objetos TemplateGroup que hay en la colección.

Item[Int32]

Obtiene o establece un objeto TemplateGroup en el índice especificado de la colección.

Métodos

Add(TemplateGroup)

Agrega el objeto TemplateGroup especificado al final de la colección.

AddRange(TemplateGroupCollection)

Agrega los grupos de plantillas de un objeto TemplateGroupCollection existente al actual objeto TemplateGroupCollection.

Clear()

Quita todos los grupos de la colección.

Contains(TemplateGroup)

Determina si el grupo especificado está en la colección.

CopyTo(TemplateGroup[], Int32)

Copia los grupos de la colección en una matriz unidimensional compatible, empezando en el índice especificado de la matriz de destino.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IndexOf(TemplateGroup)

Devuelve el índice del objeto TemplateGroup especificado dentro de la colección.

Insert(Int32, TemplateGroup)

Inserta un objeto TemplateGroup en la colección, en el índice especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Remove(TemplateGroup)

Quita el objeto TemplateGroup especificado de la colección.

RemoveAt(Int32)

Quita el objeto TemplateGroup en el índice especificado de la colección.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Para obtener una descripción de este miembro, vea CopyTo(Array, Int32).

ICollection.Count

Para obtener una descripción de este miembro, vea Count.

ICollection.IsSynchronized

Para obtener una descripción de este miembro, vea IsSynchronized.

ICollection.SyncRoot

Para obtener una descripción de este miembro, vea SyncRoot.

IEnumerable.GetEnumerator()

Para obtener una descripción de este miembro, vea GetEnumerator().

IList.Add(Object)

Para obtener una descripción de este miembro, vea Add(Object).

IList.Clear()

Para obtener una descripción de este miembro, vea Clear().

IList.Contains(Object)

Para obtener una descripción de este miembro, vea Contains(Object).

IList.IndexOf(Object)

Para obtener una descripción de este miembro, vea IndexOf(Object).

IList.Insert(Int32, Object)

Para obtener una descripción de este miembro, vea Insert(Int32, Object).

IList.IsFixedSize

Para obtener una descripción de este miembro, vea IsFixedSize.

IList.IsReadOnly

Para obtener una descripción de este miembro, vea IsReadOnly.

IList.Item[Int32]

Para obtener una descripción de este miembro, vea la clase IList.

IList.Remove(Object)

Para obtener una descripción de este miembro, vea Remove(Object).

IList.RemoveAt(Int32)

Para obtener una descripción de este miembro, vea RemoveAt(Int32).

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también