TemplateGroupCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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. |