TemplateGroupCollection Klas

Definitie

Vertegenwoordigt een verzameling TemplateGroup objecten in een ontwerpfunctie voor besturingselementen. Deze klasse kan niet worden overgenomen.

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
Overname
TemplateGroupCollection
Implementeringen

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een eenvoudige ontwerpfunctie voor besturingselementen definieert die is afgeleid van de ControlDesigner klasse. De afgeleide ontwerpfunctie voor besturingselementen implementeert de TemplateGroups eigenschap door de sjabloongroepen op te halen die zijn gedefinieerd voor de basisklasse en een sjabloongroep toe te voegen die specifiek is voor de ontwerpfunctie voor afgeleide besturingselementen.

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

Opmerkingen

De ControlDesigner klasse en elke afgeleide klasse definieert de TemplateGroups eigenschap als een TemplateGroupCollection object. De eigenschap TemplateGroupCollection wordt doorgaans alleen gebruikt door een ontwerphost, zoals Visual Studio 2005.

De verzameling neemt dynamisch toe naarmate objecten worden toegevoegd. Indexen in deze verzameling zijn gebaseerd op nul. Gebruik de Count eigenschap om te bepalen hoeveel groepen zich in de verzameling bevinden.

Gebruik bovendien de TemplateGroupCollection methoden en eigenschappen om de volgende functionaliteit te bieden:

  • De Add methode voor het toevoegen van één groep aan de verzameling.

  • De Insert methode om een groep toe te voegen aan een bepaalde index in de verzameling.

  • De Remove methode om een groep te verwijderen.

  • De RemoveAt methode voor het verwijderen van de groep in een bepaalde index.

  • De Contains methode om te bepalen of een bepaalde groep zich al in de verzameling bevindt.

  • De IndexOf methode voor het ophalen van de index van een groep in de verzameling.

  • De Item[] indexeerfunctie om de groep op een bepaalde index op te halen of in te stellen met behulp van matrix-notatie.

  • De AddRange methode voor het toevoegen van meerdere groepen aan de verzameling.

    U kunt meerdere groepen toevoegen als een matrix van groepen of als een TemplateGroupCollection object dat u ophaalt via de TemplateGroups eigenschap van een andere besturingsontwerper.

  • De Clear methode voor het verwijderen van alle groepen uit de verzameling.

Constructors

Name Description
TemplateGroupCollection()

Initialiseert een nieuw exemplaar van de TemplateGroupCollection klasse.

Eigenschappen

Name Description
Count

Hiermee haalt u het aantal TemplateGroup objecten in de verzameling op.

Item[Int32]

Hiermee wordt een TemplateGroup object opgehaald of ingesteld op de opgegeven index in de verzameling.

Methoden

Name Description
Add(TemplateGroup)

Hiermee voegt u het opgegeven TemplateGroup object toe aan het einde van de verzameling.

AddRange(TemplateGroupCollection)

Hiermee voegt u de sjabloongroepen in een bestaand TemplateGroupCollection object toe aan het huidige TemplateGroupCollection object.

Clear()

Hiermee verwijdert u alle groepen uit de verzameling.

Contains(TemplateGroup)

Bepaalt of de opgegeven groep zich in de verzameling bevindt.

CopyTo(TemplateGroup[], Int32)

Kopieert de groepen in de verzameling naar een compatibele eendimensionale matrix, te beginnen bij de opgegeven index van de doelmatrix.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IndexOf(TemplateGroup)

Retourneert de index van het opgegeven TemplateGroup object in de verzameling.

Insert(Int32, TemplateGroup)

Hiermee voegt u een TemplateGroup object toe aan de verzameling op de opgegeven index.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
Remove(TemplateGroup)

Hiermee verwijdert u het opgegeven TemplateGroup object uit de verzameling.

RemoveAt(Int32)

Hiermee verwijdert u het TemplateGroup object op de opgegeven index in de verzameling.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
ICollection.CopyTo(Array, Int32)

Zie voor een beschrijving van dit lid CopyTo(Array, Int32).

ICollection.Count

Zie voor een beschrijving van dit lid Count.

ICollection.IsSynchronized

Zie voor een beschrijving van dit lid IsSynchronized.

ICollection.SyncRoot

Zie voor een beschrijving van dit lid SyncRoot.

IEnumerable.GetEnumerator()

Zie voor een beschrijving van dit lid GetEnumerator().

IList.Add(Object)

Zie voor een beschrijving van dit lid Add(Object).

IList.Clear()

Zie voor een beschrijving van dit lid Clear().

IList.Contains(Object)

Zie voor een beschrijving van dit lid Contains(Object).

IList.IndexOf(Object)

Zie voor een beschrijving van dit lid IndexOf(Object).

IList.Insert(Int32, Object)

Zie voor een beschrijving van dit lid Insert(Int32, Object).

IList.IsFixedSize

Zie voor een beschrijving van dit lid IsFixedSize.

IList.IsReadOnly

Zie voor een beschrijving van dit lid IsReadOnly.

IList.Item[Int32]

Zie de IList klasse voor een beschrijving van dit lid.

IList.Remove(Object)

Zie voor een beschrijving van dit lid Remove(Object).

IList.RemoveAt(Int32)

Zie voor een beschrijving van dit lid RemoveAt(Int32).

Extensiemethoden

Name Description
AsParallel(IEnumerable)

Hiermee schakelt u parallelle uitvoering van een query in.

AsQueryable(IEnumerable)

Converteert een IEnumerable naar een IQueryable.

Cast<TResult>(IEnumerable)

Cast de elementen van een IEnumerable naar het opgegeven type.

OfType<TResult>(IEnumerable)

Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type.

Van toepassing op

Zie ook