Condividi tramite


TemplateGroupCollection Classe

Definizione

Rappresenta una raccolta di oggetti TemplateGroup all'interno di una finestra di progettazione controlli. La classe non può essere ereditata.

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
Ereditarietà
TemplateGroupCollection
Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato come definire una finestra di progettazione di controlli semplice derivata dalla ControlDesigner classe . Progettazione controlli derivati implementa la TemplateGroups proprietà ottenendo i gruppi di modelli definiti per la classe di base e aggiungendo un gruppo di modelli specifico per la finestra di progettazione controlli derivata.

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

Commenti

La ControlDesigner classe e qualsiasi classe derivata definiscono la TemplateGroups proprietà come TemplateGroupCollection oggetto . La TemplateGroupCollection proprietà viene in genere usata solo da un host di progettazione, ad esempio Visual Studio 2005.

La raccolta aumenta dinamicamente di dimensioni man mano che vengono aggiunti oggetti. Gli indici in questa raccolta sono in base zero. Utilizzare la Count proprietà per determinare il numero di gruppi presenti nell'insieme.

Inoltre, usare i TemplateGroupCollection metodi e le proprietà per fornire le funzionalità seguenti:

  • Metodo Add per aggiungere un singolo gruppo alla raccolta.

  • Metodo Insert per aggiungere un gruppo in corrispondenza di un indice specifico all'interno dell'insieme.

  • Metodo Remove per rimuovere un gruppo.

  • Metodo RemoveAt per rimuovere il gruppo in corrispondenza di un indice specifico.

  • Metodo Contains per determinare se un determinato gruppo è già presente nell'insieme.

  • Metodo IndexOf per recuperare l'indice di un gruppo all'interno dell'insieme.

  • Indicizzatore Item[] per ottenere o impostare il gruppo in corrispondenza di un indice specifico, utilizzando la notazione della matrice.

  • Metodo AddRange per aggiungere più gruppi alla raccolta.

    È possibile aggiungere più gruppi come matrice di gruppi o come TemplateGroupCollection oggetto recuperato tramite la TemplateGroups proprietà di un'altra finestra di progettazione controlli.

  • Metodo Clear per rimuovere tutti i gruppi dalla raccolta.

Costruttori

TemplateGroupCollection()

Inizializza una nuova istanza della classe TemplateGroupCollection.

Proprietà

Count

Ottiene il numero di oggetti TemplateGroup contenuti nell'insieme.

Item[Int32]

Ottiene o imposta un oggetto TemplateGroup nella raccolta in corrispondenza dell'indice specificato.

Metodi

Add(TemplateGroup)

Aggiunge l'oggetto TemplateGroup specificato alla fine dell'insieme.

AddRange(TemplateGroupCollection)

Aggiungere i gruppi di modelli di un oggetto TemplateGroupCollection esistente all'oggetto TemplateGroupCollection corrente.

Clear()

Rimuove tutti i gruppi dall'insieme.

Contains(TemplateGroup)

Determina se il gruppo specificato è contenuto nell'insieme.

CopyTo(TemplateGroup[], Int32)

Copia i gruppi dell'insieme in una matrice compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(TemplateGroup)

Restituisce l'indice dell'oggetto TemplateGroup specificato all'interno della raccolta.

Insert(Int32, TemplateGroup)

Inserisce un oggetto TemplateGroup nell'insieme, in corrispondenza dell'indice specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Remove(TemplateGroup)

Rimuove l'oggetto TemplateGroup specificato dalla raccolta.

RemoveAt(Int32)

Rimuove l'oggetto TemplateGroup in corrispondenza dell'indice specificato all'interno della raccolta.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Per una descrizione di questo membro, vedere CopyTo(Array, Int32).

ICollection.Count

Per una descrizione di questo membro, vedere Count.

ICollection.IsSynchronized

Per una descrizione di questo membro, vedere IsSynchronized.

ICollection.SyncRoot

Per una descrizione di questo membro, vedere SyncRoot.

IEnumerable.GetEnumerator()

Per una descrizione di questo membro, vedere GetEnumerator().

IList.Add(Object)

Per una descrizione di questo membro, vedere Add(Object).

IList.Clear()

Per una descrizione di questo membro, vedere Clear().

IList.Contains(Object)

Per una descrizione di questo membro, vedere Contains(Object).

IList.IndexOf(Object)

Per una descrizione di questo membro, vedere IndexOf(Object).

IList.Insert(Int32, Object)

Per una descrizione di questo membro, vedere Insert(Int32, Object).

IList.IsFixedSize

Per una descrizione di questo membro, vedere IsFixedSize.

IList.IsReadOnly

Per una descrizione di questo membro, vedere IsReadOnly.

IList.Item[Int32]

Per una descrizione di questo membro, vedere la classe IList.

IList.Remove(Object)

Per una descrizione di questo membro, vedere Remove(Object).

IList.RemoveAt(Int32)

Per una descrizione di questo membro, vedere RemoveAt(Int32).

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche