Sdílet prostřednictvím


TemplateGroupCollection Třída

Definice

Představuje kolekci objektů v návrháři ovládacích TemplateGroup prvků. Tuto třídu nelze zdědit.

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
Dědičnost
TemplateGroupCollection
Implementuje

Příklady

Následující příklad kódu ukazuje, jak definovat jednoduchý návrhář ovládacích prvků, který je odvozen z ControlDesigner třídy. Odvozený návrhář ovládacích TemplateGroups prvků implementuje vlastnost získáním skupin šablon, které jsou definovány pro základní třídu a přidání skupiny šablon, která je specifická pro odvozeného návrháře ovládacích prvků.

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

Poznámky

Třída ControlDesigner a jakákoli odvozená třída definuje TemplateGroups vlastnost jako TemplateGroupCollection objekt. Vlastnost TemplateGroupCollection obvykle používá pouze hostitel návrhu, například Visual Studio 2005.

Při přidání objektů se kolekce dynamicky zvětšuje. Indexy v této kolekci jsou založené na nule. Count Pomocí vlastnosti určete, kolik skupin je v kolekci.

Kromě toho použijte TemplateGroupCollection metody a vlastnosti k poskytování následujících funkcí:

  • Metoda Add pro přidání jedné skupiny do kolekce.

  • Metoda Insert přidání skupiny v určitém indexu v kolekci.

  • Metoda Remove pro odebrání skupiny.

  • Metoda RemoveAt odebrání skupiny v určitém indexu.

  • Metoda Contains pro určení, zda je konkrétní skupina již v kolekci.

  • Metoda IndexOf pro načtení indexu skupiny v rámci kolekce.

  • Indexer Item[] pro získání nebo nastavení skupiny v určitém indexu pomocí zápisu pole.

  • Metoda AddRange pro přidání více skupin do kolekce.

    Můžete přidat více skupin buď jako pole skupin, nebo jako TemplateGroupCollection objekt, který načtete prostřednictvím TemplateGroups vlastnosti jiného návrháře ovládacího prvku.

  • Metoda Clear pro odebrání všech skupin z kolekce.

Konstruktory

TemplateGroupCollection()

Inicializuje novou instanci TemplateGroupCollection třídy.

Vlastnosti

Count

Získá počet TemplateGroup objektů v kolekci.

Item[Int32]

Získá nebo nastaví TemplateGroup objekt v zadaném indexu v kolekci.

Metody

Add(TemplateGroup)

Přidá zadaný TemplateGroup objekt na konec kolekce.

AddRange(TemplateGroupCollection)

Přidá skupiny šablon do existujícího TemplateGroupCollection objektu do aktuálního TemplateGroupCollection objektu.

Clear()

Odebere všechny skupiny z kolekce.

Contains(TemplateGroup)

Určuje, zda je zadaná skupina obsažena v kolekci.

CopyTo(TemplateGroup[], Int32)

Zkopíruje skupiny v kolekci do kompatibilního jednorozměrného pole počínaje zadaným indexem cílového pole.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
IndexOf(TemplateGroup)

Vrátí index zadaného TemplateGroup objektu v kolekci.

Insert(Int32, TemplateGroup)

TemplateGroup Vloží objekt do kolekce v zadaném indexu.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
Remove(TemplateGroup)

Odebere zadaný TemplateGroup objekt z kolekce.

RemoveAt(Int32)

Odebere TemplateGroup objekt v zadaném indexu v rámci kolekce.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

ICollection.CopyTo(Array, Int32)

Popis tohoto člena najdete v tématu CopyTo(Array, Int32).

ICollection.Count

Popis tohoto člena najdete v tématu Count.

ICollection.IsSynchronized

Popis tohoto člena najdete v tématu IsSynchronized.

ICollection.SyncRoot

Popis tohoto člena najdete v tématu SyncRoot.

IEnumerable.GetEnumerator()

Popis tohoto člena najdete v tématu GetEnumerator().

IList.Add(Object)

Popis tohoto člena najdete v tématu Add(Object).

IList.Clear()

Popis tohoto člena najdete v tématu Clear().

IList.Contains(Object)

Popis tohoto člena najdete v tématu Contains(Object).

IList.IndexOf(Object)

Popis tohoto člena naleznete v tématu IndexOf(Object).

IList.Insert(Int32, Object)

Popis tohoto člena naleznete v tématu Insert(Int32, Object).

IList.IsFixedSize

Popis tohoto člena naleznete v tématu IsFixedSize.

IList.IsReadOnly

Popis tohoto člena naleznete v tématu IsReadOnly.

IList.Item[Int32]

Popis tohoto člena najdete v předmětu IList .

IList.Remove(Object)

Popis tohoto člena naleznete v tématu Remove(Object).

IList.RemoveAt(Int32)

Popis tohoto člena naleznete v tématu RemoveAt(Int32).

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky zadaného IEnumerable typu.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede na IEnumerable IQueryable.

Platí pro

Viz také