TemplateGroupCollection Class

Definition

Представляет коллекцию объектов TemplateGroup в конструкторе элемента управления.Represents a collection of TemplateGroup objects within a control designer. Этот класс не наследуется.This class cannot be inherited.

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
Inheritance
TemplateGroupCollection
Implements

Examples

В следующем примере кода показано, как определить простой конструктор элементов управления, производный от класса ControlDesigner.The following code example demonstrates how to define a simple control designer that is derived from the ControlDesigner class. Производный конструктор элементов управления реализует свойство TemplateGroups, получая группы шаблонов, определенные для базового класса, и добавляя группу шаблонов, относящуюся к производному конструктору элементов управления.The derived control designer implements the TemplateGroups property by getting the template groups that are defined for the base class and adding a template group that is specific to the derived control designer.

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

Remarks

Класс ControlDesigner и любой производный класс определяет свойство TemplateGroups как объект TemplateGroupCollection.The ControlDesigner class, and any derived class, defines the TemplateGroups property as a TemplateGroupCollection object. Свойство TemplateGroupCollection обычно используется только узлом разработки, например Visual Studio 2005Visual Studio 2005.The TemplateGroupCollection property is typically used only by a design host such as Visual Studio 2005Visual Studio 2005.

Коллекция динамически увеличивается в размере по мере добавления объектов.The collection dynamically increases in size as objects are added. Индексы в этой коллекции отсчитываются от нуля.Indexes in this collection are zero-based. Используйте свойство Count, чтобы определить количество групп в коллекции.Use the Count property to determine how many groups are in the collection.

Кроме того, используйте методы и свойства TemplateGroupCollection для предоставления следующих функциональных возможностей.Additionally, use the TemplateGroupCollection methods and properties to provide the following functionality:

  • Метод Add для добавления одной группы в коллекцию.The Add method to add a single group to the collection.

  • Метод Insert для добавления группы по определенному индексу в коллекции.The Insert method to add a group at a particular index within the collection.

  • Метод Remove для удаления группы.The Remove method to remove a group.

  • Метод RemoveAt для удаления группы по определенному индексу.The RemoveAt method to remove the group at a particular index.

  • Метод Contains, определяющий, уже определена ли в коллекции конкретная группа.The Contains method to determine whether a particular group is already in the collection.

  • Метод IndexOf для получения индекса группы в коллекции.The IndexOf method to retrieve the index of a group within the collection.

  • Индексатор Item[] для получения или задания группы по определенному индексу с использованием нотации массива.The Item[] indexer to get or set the group at a particular index, using array notation.

  • Метод AddRange для добавления нескольких групп в коллекцию.The AddRange method to add multiple groups to the collection.

    Можно добавить несколько групп либо как массив групп, либо как объект TemplateGroupCollection, который извлекается с помощью свойства TemplateGroups другого конструктора элементов управления.You can add multiple groups either as an array of groups or as a TemplateGroupCollection object that you retrieve through the TemplateGroups property of another control designer.

  • Метод Clear для удаления всех групп из коллекции.The Clear method to remove all groups from the collection.

Constructors

TemplateGroupCollection()

Инициализирует новый экземпляр класса TemplateGroupCollection.Initializes a new instance of the TemplateGroupCollection class.

Properties

Count

Возвращает количество объектов TemplateGroup в коллекции.Gets the number of TemplateGroup objects in the collection.

Item[Int32]

Получает или задает объект TemplateGroup с указанным индексом в коллекции.Gets or sets a TemplateGroup object at the specified index in the collection.

Methods

Add(TemplateGroup)

Добавляет заданный объект TemplateGroup в конец коллекции.Adds the specified TemplateGroup object to the end of the collection.

AddRange(TemplateGroupCollection)

Добавляет группы шаблонов в существующий объект TemplateGroupCollection в текущий объект TemplateGroupCollection.Adds the template groups in an existing TemplateGroupCollection object to the current TemplateGroupCollection object.

Clear()

Удаляет все группы из коллекции.Removes all groups from the collection.

Contains(TemplateGroup)

Определяет, содержится ли в коллекции заданная группа.Determines whether the specified group is contained within the collection.

CopyTo(TemplateGroup[], Int32)

Копирует группы в коллекции в совместимый одномерный массив, начиная с заданного индекса целевого массива.Copies the groups in the collection to a compatible one-dimensional array, starting at the specified index of the target array.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(TemplateGroup)

Возвращает индекс указанного объекта TemplateGroup в коллекции.Returns the index of the specified TemplateGroup object within the collection.

Insert(Int32, TemplateGroup)

Вставляет объект TemplateGroup в коллекцию по указанному индексу.Inserts a TemplateGroup object into the collection at the specified index.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(TemplateGroup)

Удаляет указанный объект TemplateGroup из коллекции.Removes the specified TemplateGroup object from the collection.

RemoveAt(Int32)

Удаляет объект TemplateGroup с заданным индексом из коллекции.Removes the TemplateGroup object at the specified index within the collection.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

ICollection.CopyTo(Array, Int32)

Описание этого члена см. в разделе CopyTo(Array, Int32).For a description of this member, see CopyTo(Array, Int32).

ICollection.Count

Описание этого члена см. в разделе Count.For a description of this member, see Count.

ICollection.IsSynchronized

Описание этого члена см. в разделе IsSynchronized.For a description of this member, see IsSynchronized.

ICollection.SyncRoot

Описание этого члена см. в разделе SyncRoot.For a description of this member, see SyncRoot.

IEnumerable.GetEnumerator()

Описание этого члена см. в разделе GetEnumerator().For a description of this member, see GetEnumerator().

IList.Add(Object)

Описание этого члена см. в разделе Add(Object).For a description of this member, see Add(Object).

IList.Clear()

Описание этого члена см. в разделе Clear().For a description of this member, see Clear().

IList.Contains(Object)

Описание этого члена см. в разделе Contains(Object).For a description of this member, see Contains(Object).

IList.IndexOf(Object)

Описание этого члена см. в разделе IndexOf(Object).For a description of this member, see IndexOf(Object).

IList.Insert(Int32, Object)

Описание этого члена см. в разделе Insert(Int32, Object).For a description of this member, see Insert(Int32, Object).

IList.IsFixedSize

Описание этого члена см. в разделе IsFixedSize.For a description of this member, see IsFixedSize.

IList.IsReadOnly

Описание этого члена см. в разделе IsReadOnly.For a description of this member, see IsReadOnly.

IList.Item[Int32]

Описание этого элемента см. в методе IList.For a description of this member, see the IList class.

IList.Remove(Object)

Описание этого члена см. в разделе Remove(Object).For a description of this member, see Remove(Object).

IList.RemoveAt(Int32)

Описание этого члена см. в разделе RemoveAt(Int32).For a description of this member, see RemoveAt(Int32).

Extension Methods

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Applies to

See also