TemplateGroupCollection Klass

Definition

Representerar en samling TemplateGroup objekt i en kontrolldesigner. Det går inte att ärva den här klassen.

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
Arv
TemplateGroupCollection
Implementeringar

Exempel

Följande kodexempel visar hur du definierar en enkel kontrolldesigner som härleds från ControlDesigner klassen. Den härledda kontrolldesignern implementerar TemplateGroups egenskapen genom att hämta de mallgrupper som definieras för basklassen och lägga till en mallgrupp som är specifik för den härledda kontrolldesignern.

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

Kommentarer

Klassen ControlDesigner och alla härledda klasser definierar TemplateGroups egenskapen som ett TemplateGroupCollection objekt. Egenskapen TemplateGroupCollection används vanligtvis endast av en designvärd, till exempel Visual Studio 2005.

Samlingen ökar dynamiskt i storlek när objekt läggs till. Index i den här samlingen är nollbaserade. Använd egenskapen Count för att avgöra hur många grupper som finns i samlingen.

Använd dessutom TemplateGroupCollection metoderna och egenskaperna för att tillhandahålla följande funktioner:

  • Metoden Add för att lägga till en enskild grupp i samlingen.

  • Metoden Insert för att lägga till en grupp vid ett visst index i samlingen.

  • Metoden Remove för att ta bort en grupp.

  • Metoden RemoveAt för att ta bort gruppen vid ett visst index.

  • Metoden Contains för att avgöra om en viss grupp redan finns i samlingen.

  • Metoden IndexOf för att hämta indexet för en grupp i samlingen.

  • Indexeraren Item[] för att hämta eller ange gruppen till ett visst index med hjälp av matris notation.

  • Metoden AddRange för att lägga till flera grupper i samlingen.

    Du kan lägga till flera grupper antingen som en matris med grupper eller som ett TemplateGroupCollection objekt som du hämtar via egenskapen för TemplateGroups en annan kontrolldesigner.

  • Metoden Clear för att ta bort alla grupper från samlingen.

Konstruktorer

Name Description
TemplateGroupCollection()

Initierar en ny instans av TemplateGroupCollection klassen.

Egenskaper

Name Description
Count

Hämtar antalet TemplateGroup objekt i samlingen.

Item[Int32]

Hämtar eller anger ett TemplateGroup objekt vid det angivna indexet i samlingen.

Metoder

Name Description
Add(TemplateGroup)

Lägger till det angivna TemplateGroup objektet i slutet av samlingen.

AddRange(TemplateGroupCollection)

Lägger till mallgrupperna i ett befintligt TemplateGroupCollection objekt i det aktuella TemplateGroupCollection objektet.

Clear()

Tar bort alla grupper från samlingen.

Contains(TemplateGroup)

Avgör om den angivna gruppen finns i samlingen.

CopyTo(TemplateGroup[], Int32)

Kopierar grupperna i samlingen till en kompatibel endimensionell matris, med början vid det angivna indexet för målmatrisen.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IndexOf(TemplateGroup)

Returnerar indexet för det angivna TemplateGroup objektet i samlingen.

Insert(Int32, TemplateGroup)

Infogar ett TemplateGroup objekt i samlingen vid det angivna indexet.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
Remove(TemplateGroup)

Tar bort det angivna TemplateGroup objektet från samlingen.

RemoveAt(Int32)

Tar bort objektet TemplateGroup vid det angivna indexet i samlingen.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
ICollection.CopyTo(Array, Int32)

En beskrivning av den här medlemmen finns i CopyTo(Array, Int32).

ICollection.Count

En beskrivning av den här medlemmen finns i Count.

ICollection.IsSynchronized

En beskrivning av den här medlemmen finns i IsSynchronized.

ICollection.SyncRoot

En beskrivning av den här medlemmen finns i SyncRoot.

IEnumerable.GetEnumerator()

En beskrivning av den här medlemmen finns i GetEnumerator().

IList.Add(Object)

En beskrivning av den här medlemmen finns i Add(Object).

IList.Clear()

En beskrivning av den här medlemmen finns i Clear().

IList.Contains(Object)

En beskrivning av den här medlemmen finns i Contains(Object).

IList.IndexOf(Object)

En beskrivning av den här medlemmen finns i IndexOf(Object).

IList.Insert(Int32, Object)

En beskrivning av den här medlemmen finns i Insert(Int32, Object).

IList.IsFixedSize

En beskrivning av den här medlemmen finns i IsFixedSize.

IList.IsReadOnly

En beskrivning av den här medlemmen finns i IsReadOnly.

IList.Item[Int32]

En beskrivning av den här medlemmen finns i IList klassen .

IList.Remove(Object)

En beskrivning av den här medlemmen finns i Remove(Object).

IList.RemoveAt(Int32)

En beskrivning av den här medlemmen finns i RemoveAt(Int32).

Tilläggsmetoder

Name Description
AsParallel(IEnumerable)

Möjliggör parallellisering av en fråga.

AsQueryable(IEnumerable)

Konverterar en IEnumerable till en IQueryable.

Cast<TResult>(IEnumerable)

Omvandlar elementen i en IEnumerable till den angivna typen.

OfType<TResult>(IEnumerable)

Filtrerar elementen i en IEnumerable baserat på en angiven typ.

Gäller för

Se även