TemplateGroupCollection Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma coleção de TemplateGroup objetos dentro de um designer de controlo. Esta 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 seguinte demonstra como definir um designer de controlo simples derivado da ControlDesigner classe. O designer de controlos derivados implementa a TemplateGroups propriedade obtendo os grupos de templates definidos para a classe base e adicionando um grupo de templates específico para o designer de controlo 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
Observações
A ControlDesigner classe, e qualquer classe derivada, define a TemplateGroups propriedade como um TemplateGroupCollection objeto. A propriedade TemplateGroupCollection é normalmente 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 há na coleção.
Adicionalmente, utilize os TemplateGroupCollection métodos e 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 num índice específico dentro da coleção.
O Remove método para remover um grupo.
O RemoveAt método para remover o grupo num índice particular.
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 num índice específico, usando notação de array.
O AddRange método para adicionar múltiplos grupos à coleção.
Pode adicionar múltiplos grupos, seja como um array de grupos ou como um TemplateGroupCollection objeto que recupera através da TemplateGroups propriedade de outro designer de controlos.
O Clear método para remover todos os grupos da coleção.
Construtores
| Name | Description |
|---|---|
| TemplateGroupCollection() |
Inicializa uma nova instância da TemplateGroupCollection classe. |
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de TemplateGroup objetos na coleção. |
| Item[Int32] |
Obtém ou define um TemplateGroup objeto no índice especificado na coleção. |
Métodos
| Name | Description |
|---|---|
| Add(TemplateGroup) |
Adiciona o objeto especificado TemplateGroup ao final da coleção. |
| AddRange(TemplateGroupCollection) |
Adiciona os grupos de templates num objeto existente TemplateGroupCollection ao objeto atual TemplateGroupCollection . |
| 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 da coleção para um array unidimensional compatível, começando no índice especificado do array-alvo. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IndexOf(TemplateGroup) |
Devolve o índice do objeto especificado TemplateGroup dentro da coleção. |
| Insert(Int32, TemplateGroup) |
Insere um TemplateGroup objeto na coleção no índice especificado. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| Remove(TemplateGroup) |
Remove o objeto especificado TemplateGroup da coleção. |
| RemoveAt(Int32) |
Remove o TemplateGroup objeto no índice especificado dentro da coleção. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Para uma descrição deste elemento, veja CopyTo(Array, Int32). |
| ICollection.Count |
Para uma descrição deste elemento, veja Count. |
| ICollection.IsSynchronized |
Para uma descrição deste elemento, veja IsSynchronized. |
| ICollection.SyncRoot |
Para uma descrição deste elemento, veja SyncRoot. |
| IEnumerable.GetEnumerator() |
Para uma descrição deste elemento, veja GetEnumerator(). |
| IList.Add(Object) |
Para uma descrição deste elemento, veja Add(Object). |
| IList.Clear() |
Para uma descrição deste elemento, veja Clear(). |
| IList.Contains(Object) |
Para uma descrição deste elemento, veja Contains(Object). |
| IList.IndexOf(Object) |
Para uma descrição deste elemento, veja IndexOf(Object). |
| IList.Insert(Int32, Object) |
Para uma descrição deste elemento, veja Insert(Int32, Object). |
| IList.IsFixedSize |
Para uma descrição deste elemento, veja IsFixedSize. |
| IList.IsReadOnly |
Para uma descrição deste elemento, veja IsReadOnly. |
| IList.Item[Int32] |
Para uma descrição deste membro, veja a IList classe. |
| IList.Remove(Object) |
Para uma descrição deste elemento, veja Remove(Object). |
| IList.RemoveAt(Int32) |
Para uma descrição deste elemento, veja RemoveAt(Int32). |
Métodos da Extensão
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Permite a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable para um IQueryable. |
| Cast<TResult>(IEnumerable) |
Conjura os elementos de an IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base num tipo especificado. |