TemplateGroupCollection Classe

Definição

Representa uma coleção de objetos TemplateGroup em um designer de controle.Represents a collection of TemplateGroup objects within a control designer. Essa classe não pode ser herdada.This class cannot be inherited.

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
Herança
TemplateGroupCollection
Implementações

Exemplos

O exemplo de código a seguir demonstra como definir um designer de controle simples que é derivado ControlDesigner da classe.The following code example demonstrates how to define a simple control designer that is derived from the ControlDesigner class. O designer de controle derivado implementa TemplateGroups a propriedade obtendo os grupos de modelos que são definidos para a classe base e adicionando um grupo de modelos que é específico para o designer de controle derivado.The derived control designer implements the TemplateGroups property by getting the template groups that are defined for the base class and adding a template group that is specific to the derived control designer.

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

Comentários

A ControlDesigner classe e qualquer classe derivada define a TemplateGroups Propriedade como um TemplateGroupCollection objeto.The ControlDesigner class, and any derived class, defines the TemplateGroups property as a TemplateGroupCollection object. A TemplateGroupCollection propriedade é normalmente usada apenas por um host de design Visual Studio 2005Visual Studio 2005, como.The TemplateGroupCollection property is typically used only by a design host such as Visual Studio 2005Visual Studio 2005.

A coleção aumenta dinamicamente de tamanho à medida que os objetos são adicionados.The collection dynamically increases in size as objects are added. Os índices nesta coleção são baseados em zero.Indexes in this collection are zero-based. Use a Count propriedade para determinar quantos grupos estão na coleção.Use the Count property to determine how many groups are in the collection.

Além disso, use TemplateGroupCollection os métodos e as propriedades para fornecer a seguinte funcionalidade:Additionally, use the TemplateGroupCollection methods and properties to provide the following functionality:

  • O Add método para adicionar um único grupo à coleção.The Add method to add a single group to the collection.

  • O Insert método para adicionar um grupo em um índice específico dentro da coleção.The Insert method to add a group at a particular index within the collection.

  • O Remove método para remover um grupo.The Remove method to remove a group.

  • O RemoveAt método para remover o grupo em um índice específico.The RemoveAt method to remove the group at a particular index.

  • O Contains método para determinar se um grupo específico já está na coleção.The Contains method to determine whether a particular group is already in the collection.

  • O IndexOf método para recuperar o índice de um grupo dentro da coleção.The IndexOf method to retrieve the index of a group within the collection.

  • O Item[Int32] indexador para obter ou definir o grupo em um índice específico, usando a notação de matriz.The Item[Int32] indexer to get or set the group at a particular index, using array notation.

  • O AddRange método para adicionar vários grupos à coleção.The AddRange method to add multiple groups to the collection.

    Você pode adicionar vários grupos como uma matriz de grupos ou como um TemplateGroupCollection objeto que você recupera por meio da TemplateGroups propriedade de outro designer de controle.You can add multiple groups either as an array of groups or as a TemplateGroupCollection object that you retrieve through the TemplateGroups property of another control designer.

  • O Clear método para remover todos os grupos da coleção.The Clear method to remove all groups from the collection.

Construtores

TemplateGroupCollection()

Inicializa uma nova instância da classe TemplateGroupCollection.Initializes a new instance of the TemplateGroupCollection class.

Propriedades

Count

Obtém o número de objetos TemplateGroup na coleção.Gets the number of TemplateGroup objects in the collection.

Item[Int32]

Obtém ou define um objeto TemplateGroup no índice especificado na coleção.Gets or sets a TemplateGroup object at the specified index in the collection.

Métodos

Add(TemplateGroup)

Adiciona o objeto TemplateGroup especificado ao final da coleção.Adds the specified TemplateGroup object to the end of the collection.

AddRange(TemplateGroupCollection)

Adiciona os grupos de modelos de um objeto TemplateGroupCollection existente ao objeto TemplateGroupCollection atual.Adds the template groups in an existing TemplateGroupCollection object to the current TemplateGroupCollection object.

Clear()

Remove todos os grupos da coleção.Removes all groups from the collection.

Contains(TemplateGroup)

Determina se o grupo especificado está contido na coleção.Determines whether the specified group is contained within the collection.

CopyTo(TemplateGroup[], Int32)

Copia os grupos na coleção para uma matriz unidimensional compatível, começando no índice especificado da matriz de destino.Copies the groups in the collection to a compatible one-dimensional array, starting at the specified index of the target array.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
IndexOf(TemplateGroup)

Retorna o índice do objeto TemplateGroup especificado na coleção.Returns the index of the specified TemplateGroup object within the collection.

Insert(Int32, TemplateGroup)

Insere um objeto TemplateGroup na coleção no índice especificado.Inserts a TemplateGroup object into the collection at the specified index.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
Remove(TemplateGroup)

Remove o objeto TemplateGroup especificado da coleção.Removes the specified TemplateGroup object from the collection.

RemoveAt(Int32)

Remove o objeto TemplateGroup no índice especificado dentro da coleção.Removes the TemplateGroup object at the specified index within the collection.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Para obter uma descrição desse membro, consulte CopyTo(Array, Int32).For a description of this member, see CopyTo(Array, Int32).

ICollection.Count

Para obter uma descrição desse membro, consulte Count.For a description of this member, see Count.

ICollection.IsSynchronized

Para obter uma descrição desse membro, consulte IsSynchronized.For a description of this member, see IsSynchronized.

ICollection.SyncRoot

Para obter uma descrição desse membro, consulte SyncRoot.For a description of this member, see SyncRoot.

IEnumerable.GetEnumerator()

Para obter uma descrição desse membro, consulte GetEnumerator().For a description of this member, see GetEnumerator().

IList.Add(Object)

Para obter uma descrição desse membro, consulte Add(Object).For a description of this member, see Add(Object).

IList.Clear()

Para obter uma descrição desse membro, consulte Clear().For a description of this member, see Clear().

IList.Contains(Object)

Para obter uma descrição desse membro, consulte Contains(Object).For a description of this member, see Contains(Object).

IList.IndexOf(Object)

Para obter uma descrição desse membro, consulte IndexOf(Object).For a description of this member, see IndexOf(Object).

IList.Insert(Int32, Object)

Para obter uma descrição desse membro, consulte Insert(Int32, Object).For a description of this member, see Insert(Int32, Object).

IList.IsFixedSize

Para obter uma descrição desse membro, consulte IsFixedSize.For a description of this member, see IsFixedSize.

IList.IsReadOnly

Para obter uma descrição desse membro, consulte IsReadOnly.For a description of this member, see IsReadOnly.

IList.Item[Int32]

Para obter uma descrição desse membro, consulte a classe IList.For a description of this member, see the IList class.

IList.Remove(Object)

Para obter uma descrição desse membro, consulte Remove(Object).For a description of this member, see Remove(Object).

IList.RemoveAt(Int32)

Para obter uma descrição desse membro, consulte RemoveAt(Int32).For a description of this member, see RemoveAt(Int32).

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Aplica-se a

Veja também