Sdílet prostřednictvím


TemplateGroupCollection Třída

Definice

Představuje kolekci TemplateGroup objektů v návrháři ovládacích prvků. Tato třída se nemůže dě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ý ovládací prvek návrhář, který je odvozen z ControlDesigner třídy. Návrhář odvozených ovládacích prvků implementuje TemplateGroups vlastnost získáním skupin šablon, které jsou definovány pro základní třídu a přidáním skupiny šablon, která je specifická pro návrhář odvozených 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 zajištění následujících funkcí:

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

  • Metoda Insert pro přidání skupiny do konkrétního indexu v rámci kolekce.

  • Metoda Remove odebrání skupiny.

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

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

  • Metoda IndexOf 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.

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

  • 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á do aktuálního TemplateGroupCollection objektu skupiny šablony v existujícím TemplateGroupCollection objektu.

Clear()

Odebere z kolekce všechny skupiny.

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í hashovací funkce.

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

Type Získá z aktuální instance.

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

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

Insert(Int32, TemplateGroup)

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

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

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

Odebere zadaný TemplateGroup objekt z kolekce.

RemoveAt(Int32)

Odebere TemplateGroup objekt v zadaném indexu v kolekci.

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 najdete v tématu IndexOf(Object).

IList.Insert(Int32, Object)

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

IList.IsFixedSize

Popis tohoto člena najdete v tématu IsFixedSize.

IList.IsReadOnly

Popis tohoto člena najdete v tématu IsReadOnly.

IList.Item[Int32]

Popis tohoto členu najdete v IList třídě .

IList.Remove(Object)

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

IList.RemoveAt(Int32)

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

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky objektu IEnumerable na základě zadaného typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také