TemplateGroupCollection Classe

Definição

Representa uma coleção de objetos TemplateGroup em um designer de controle. Essa classe não pode ser herdada.

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 derivado da ControlDesigner classe. O designer de controle derivado implementa a TemplateGroups propriedade obtendo os grupos de modelos definidos para a classe base e adicionando um grupo de modelos específico ao designer de controle derivado.

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 definem a TemplateGroups propriedade como um TemplateGroupCollection objeto. NormalmenteTemplateGroupCollection, a propriedade é usada apenas por um host de design, como Visual Studio 2005.

A coleção aumenta dinamicamente de tamanho à medida que os objetos são adicionados. Os índices nesta coleção são baseados em zero. Use a Count propriedade para determinar quantos grupos estão na coleção.

Além disso, use os TemplateGroupCollection métodos e as propriedades para fornecer a seguinte funcionalidade:

  • O Add método para adicionar um único grupo à coleção.

  • O Insert método para adicionar um grupo a um índice específico dentro da coleção.

  • O Remove método para remover um grupo.

  • O RemoveAt método para remover o grupo em um índice específico.

  • O Contains método para determinar se um determinado grupo já está na coleção.

  • O IndexOf método para recuperar o índice de um grupo dentro da coleção.

  • O Item[] indexador para obter ou definir o grupo em um índice específico, usando a notação de matriz.

  • O AddRange método para adicionar vários grupos à coleção.

    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.

  • O Clear método para remover todos os grupos da coleção.

Construtores

TemplateGroupCollection()

Inicializa uma nova instância da classe TemplateGroupCollection.

Propriedades

Count

Obtém o número de objetos TemplateGroup na coleção.

Item[Int32]

Obtém ou define um objeto TemplateGroup no índice especificado na coleção.

Métodos

Add(TemplateGroup)

Adiciona o objeto TemplateGroup especificado ao final da coleção.

AddRange(TemplateGroupCollection)

Adiciona os grupos de modelos de um objeto TemplateGroupCollection existente ao objeto TemplateGroupCollection atual.

Clear()

Remove todos os grupos da coleção.

Contains(TemplateGroup)

Determina se o grupo especificado está contido na coleção.

CopyTo(TemplateGroup[], Int32)

Copia os grupos na coleção para uma matriz unidimensional compatível, começando no índice especificado da matriz de destino.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IndexOf(TemplateGroup)

Retorna o índice do objeto TemplateGroup especificado na coleção.

Insert(Int32, TemplateGroup)

Insere um objeto TemplateGroup na coleção no índice especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Remove(TemplateGroup)

Remove o objeto TemplateGroup especificado da coleção.

RemoveAt(Int32)

Remove o objeto TemplateGroup no índice especificado dentro da coleção.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Para obter uma descrição desse membro, confira CopyTo(Array, Int32).

ICollection.Count

Para obter uma descrição desse membro, confira Count.

ICollection.IsSynchronized

Para obter uma descrição desse membro, confira IsSynchronized.

ICollection.SyncRoot

Para obter uma descrição desse membro, confira SyncRoot.

IEnumerable.GetEnumerator()

Para obter uma descrição desse membro, confira GetEnumerator().

IList.Add(Object)

Para obter uma descrição desse membro, confira Add(Object).

IList.Clear()

Para obter uma descrição desse membro, confira Clear().

IList.Contains(Object)

Para obter uma descrição desse membro, confira Contains(Object).

IList.IndexOf(Object)

Para obter uma descrição desse membro, confira IndexOf(Object).

IList.Insert(Int32, Object)

Para obter uma descrição desse membro, confira Insert(Int32, Object).

IList.IsFixedSize

Para obter uma descrição desse membro, confira IsFixedSize.

IList.IsReadOnly

Para obter uma descrição desse membro, confira IsReadOnly.

IList.Item[Int32]

Para obter uma descrição desse membro, consulte a classe IList.

IList.Remove(Object)

Para obter uma descrição desse membro, confira Remove(Object).

IList.RemoveAt(Int32)

Para obter uma descrição desse membro, confira RemoveAt(Int32).

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a

Confira também