Teilen über


TemplateGroupCollection Klasse

Definition

Stellt eine Auflistung von TemplateGroup-Objekten in einem Steuerelement-Designer dar. Diese Klasse kann nicht vererbt werden.

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
Vererbung
TemplateGroupCollection
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein einfacher Steuerelement-Designer definiert wird, der von der ControlDesigner -Klasse abgeleitet ist. Der abgeleitete Steuerelement-Designer implementiert die TemplateGroups -Eigenschaft, indem er die Vorlagengruppen erhält, die für die Basisklasse definiert sind, und eine Vorlagengruppe hinzufügt, die für den abgeleiteten Steuerelement-Designer spezifisch ist.

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

Hinweise

Die ControlDesigner -Klasse und jede abgeleitete Klasse definieren die TemplateGroups -Eigenschaft als TemplateGroupCollection -Objekt. Die TemplateGroupCollection Eigenschaft wird in der Regel nur von einem Designhost wie Visual Studio 2005 verwendet.

Die Auflistung nimmt dynamisch an Größe zu, wenn Objekte hinzugefügt werden. Indizes in dieser Auflistung sind nullbasiert. Verwenden Sie die Count -Eigenschaft, um zu bestimmen, wie viele Gruppen sich in der Auflistung befinden.

Verwenden Sie außerdem die TemplateGroupCollection Methoden und Eigenschaften, um die folgende Funktionalität bereitzustellen:

  • Die Add Methode zum Hinzufügen einer einzelnen Gruppe zur Auflistung.

  • Die Insert Methode zum Hinzufügen einer Gruppe an einem bestimmten Index innerhalb der Auflistung.

  • Die Remove Methode zum Entfernen einer Gruppe.

  • Die RemoveAt Methode zum Entfernen der Gruppe an einem bestimmten Index.

  • Die Contains Methode, um zu bestimmen, ob sich eine bestimmte Gruppe bereits in der Auflistung befindet.

  • Die IndexOf Methode zum Abrufen des Indexes einer Gruppe innerhalb der Auflistung.

  • Der Item[] Indexer zum Abrufen oder Festlegen der Gruppe auf einen bestimmten Index mithilfe der Arraynotation.

  • Die AddRange Methode zum Hinzufügen mehrerer Gruppen zur Auflistung.

    Sie können mehrere Gruppen entweder als Array von Gruppen oder als TemplateGroupCollection Objekt hinzufügen, das Sie über die TemplateGroups Eigenschaft eines anderen Steuerelement-Designers abrufen.

  • Die Clear Methode zum Entfernen aller Gruppen aus der Auflistung.

Konstruktoren

TemplateGroupCollection()

Initialisiert eine neue Instanz der TemplateGroupCollection-Klasse.

Eigenschaften

Count

Ruft die Anzahl der TemplateGroup-Objekte in der Auflistung ab.

Item[Int32]

Ruft ein TemplateGroup-Objekt am angegebenen Index in der Auflistung ab oder legt dieses fest.

Methoden

Add(TemplateGroup)

Fügt das angegebene TemplateGroup-Objekt am Ende der Auflistung hinzu.

AddRange(TemplateGroupCollection)

Fügt die Vorlagengruppen in einem vorhandenen TemplateGroupCollection-Objekt dem aktuellen TemplateGroupCollection-Objekt hinzu.

Clear()

Entfernt alle Gruppen aus der Auflistung.

Contains(TemplateGroup)

Bestimmt, ob die angegebene Gruppe in der Auflistung enthalten ist.

CopyTo(TemplateGroup[], Int32)

Kopiert die Gruppen in der Auflistung in ein kompatibles eindimensionales Array, beginnend ab dem angegebenen Index im Zielarray.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(TemplateGroup)

Gibt den Index des angegebenen TemplateGroup-Objekts in der Auflistung zurück.

Insert(Int32, TemplateGroup)

Fügt ein TemplateGroup-Objekt am angegebenen Index in die Auflistung ein.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Remove(TemplateGroup)

Entfernt das angegebene TemplateGroup-Objekt aus der Auflistung.

RemoveAt(Int32)

Entfernt das TemplateGroup-Objekt am angegebenen Index der Auflistung.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Eine Beschreibung dieses Elements finden Sie unter CopyTo(Array, Int32).

ICollection.Count

Eine Beschreibung dieses Elements finden Sie unter Count.

ICollection.IsSynchronized

Eine Beschreibung dieses Elements finden Sie unter IsSynchronized.

ICollection.SyncRoot

Eine Beschreibung dieses Elements finden Sie unter SyncRoot.

IEnumerable.GetEnumerator()

Eine Beschreibung dieses Elements finden Sie unter GetEnumerator().

IList.Add(Object)

Eine Beschreibung dieses Elements finden Sie unter Add(Object).

IList.Clear()

Eine Beschreibung dieses Elements finden Sie unter Clear().

IList.Contains(Object)

Eine Beschreibung dieses Elements finden Sie unter Contains(Object).

IList.IndexOf(Object)

Eine Beschreibung dieses Elements finden Sie unter IndexOf(Object).

IList.Insert(Int32, Object)

Eine Beschreibung dieses Elements finden Sie unter Insert(Int32, Object).

IList.IsFixedSize

Eine Beschreibung dieses Elements finden Sie unter IsFixedSize.

IList.IsReadOnly

Eine Beschreibung dieses Elements finden Sie unter IsReadOnly.

IList.Item[Int32]

Eine Beschreibung dieses Members finden Sie unter der IList-Klasse.

IList.Remove(Object)

Eine Beschreibung dieses Elements finden Sie unter Remove(Object).

IList.RemoveAt(Int32)

Eine Beschreibung dieses Elements finden Sie unter RemoveAt(Int32).

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für:

Weitere Informationen