TemplateGroupCollection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет коллекцию объектов TemplateGroup в конструкторе элементов управления. Этот класс не наследуется.
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
- Наследование
-
TemplateGroupCollection
- Реализации
Примеры
В следующем примере кода показано, как определить простой конструктор элементов управления, производный ControlDesigner от класса . Конструктор производных элементов управления реализует свойство , получая группы шаблонов, определенные для базового класса, и добавляя группу шаблонов TemplateGroups , относяющуюся к конструктору производных элементов управления.
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
Комментарии
Класс ControlDesigner и любой производный класс определяет TemplateGroups свойство как TemplateGroupCollection объект . Свойство TemplateGroupCollection обычно используется только узлом разработки, например Visual Studio 2005.
Размер коллекции динамически увеличивается по мере добавления объектов. Индексы в этой коллекции отсчитываются от нуля. Используйте свойство , Count чтобы определить, сколько групп находится в коллекции.
Кроме того, используйте TemplateGroupCollection методы и свойства для предоставления следующих функциональных возможностей:
Метод Add для добавления одной группы в коллекцию.
Метод Insert для добавления группы по определенному индексу в коллекции.
Метод Remove для удаления группы.
Метод RemoveAt для удаления группы по определенному индексу.
Метод Contains , определяющий, находится ли определенная группа в коллекции.
Метод IndexOf для получения индекса группы в коллекции.
Индексатор Item[] для получения или задания группы по определенному индексу с использованием нотации массива.
Метод AddRange для добавления нескольких групп в коллекцию.
Можно добавить несколько групп в виде массива групп или TemplateGroupCollection объекта, извлекаемого с помощью TemplateGroups свойства другого конструктора элементов управления.
Метод Clear для удаления всех групп из коллекции.
Конструкторы
TemplateGroupCollection() |
Инициализирует новый экземпляр класса TemplateGroupCollection. |
Свойства
Count |
Возвращает количество объектов TemplateGroup в коллекции. |
Item[Int32] |
Получает или задает объект TemplateGroup с указанным индексом в коллекции. |
Методы
Add(TemplateGroup) |
Добавляет заданный объект TemplateGroup в конец коллекции. |
AddRange(TemplateGroupCollection) |
Добавляет группы шаблонов в существующий объект TemplateGroupCollection в текущий объект TemplateGroupCollection. |
Clear() |
Удаляет все группы из коллекции. |
Contains(TemplateGroup) |
Определяет, содержится ли в коллекции заданная группа. |
CopyTo(TemplateGroup[], Int32) |
Копирует группы в коллекции в совместимый одномерный массив, начиная с заданного индекса целевого массива. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IndexOf(TemplateGroup) |
Возвращает индекс указанного объекта TemplateGroup в коллекции. |
Insert(Int32, TemplateGroup) |
Вставляет объект TemplateGroup в коллекцию по указанному индексу. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Remove(TemplateGroup) |
Удаляет указанный объект TemplateGroup из коллекции. |
RemoveAt(Int32) |
Удаляет объект TemplateGroup с заданным индексом из коллекции. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
ICollection.CopyTo(Array, Int32) |
Описание этого члена см. в разделе CopyTo(Array, Int32). |
ICollection.Count |
Описание этого члена см. в разделе Count. |
ICollection.IsSynchronized |
Описание этого члена см. в разделе IsSynchronized. |
ICollection.SyncRoot |
Описание этого члена см. в разделе SyncRoot. |
IEnumerable.GetEnumerator() |
Описание этого члена см. в разделе GetEnumerator(). |
IList.Add(Object) |
Описание этого члена см. в разделе Add(Object). |
IList.Clear() |
Описание этого члена см. в разделе Clear(). |
IList.Contains(Object) |
Описание этого члена см. в разделе Contains(Object). |
IList.IndexOf(Object) |
Описание этого члена см. в разделе IndexOf(Object). |
IList.Insert(Int32, Object) |
Описание этого члена см. в разделе Insert(Int32, Object). |
IList.IsFixedSize |
Описание этого члена см. в разделе IsFixedSize. |
IList.IsReadOnly |
Описание этого члена см. в разделе IsReadOnly. |
IList.Item[Int32] |
Описание этого элемента см. в методе IList. |
IList.Remove(Object) |
Описание этого члена см. в разделе Remove(Object). |
IList.RemoveAt(Int32) |
Описание этого члена см. в разделе RemoveAt(Int32). |
Методы расширения
Cast<TResult>(IEnumerable) |
Приводит элементы объекта IEnumerable к заданному типу. |
OfType<TResult>(IEnumerable) |
Выполняет фильтрацию элементов объекта IEnumerable по заданному типу. |
AsParallel(IEnumerable) |
Позволяет осуществлять параллельный запрос. |
AsQueryable(IEnumerable) |
Преобразовывает коллекцию IEnumerable в объект IQueryable. |