TemplateGroupCollection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Auflistung von TemplateGroup-Objekten in einem Steuerelement-Designer dar. Diese Klasse kann nicht vererbt werden.
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
- Vererbung
-
TemplateGroupCollection
- Implementiert
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein einfacher Steuerelement-Designer definiert wird, der von der ControlDesigner -Klasse abgeleitet ist. Der abgeleitete Steuerelement-Designer implementiert die TemplateGroups -Eigenschaft, indem er die Vorlagengruppen erhält, die für die Basisklasse definiert sind, und eine Vorlagengruppe hinzufügt, die für den abgeleiteten Steuerelement-Designer spezifisch ist.
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
Hinweise
Die ControlDesigner -Klasse und jede abgeleitete Klasse definieren die TemplateGroups -Eigenschaft als TemplateGroupCollection -Objekt. Die TemplateGroupCollection Eigenschaft wird in der Regel nur von einem Designhost wie Visual Studio 2005 verwendet.
Die Auflistung nimmt dynamisch an Größe zu, wenn Objekte hinzugefügt werden. Indizes in dieser Auflistung sind nullbasiert. Verwenden Sie die Count -Eigenschaft, um zu bestimmen, wie viele Gruppen sich in der Auflistung befinden.
Verwenden Sie außerdem die TemplateGroupCollection Methoden und Eigenschaften, um die folgende Funktionalität bereitzustellen:
Die Add Methode zum Hinzufügen einer einzelnen Gruppe zur Auflistung.
Die Insert Methode zum Hinzufügen einer Gruppe an einem bestimmten Index innerhalb der Auflistung.
Die Remove Methode zum Entfernen einer Gruppe.
Die RemoveAt Methode zum Entfernen der Gruppe an einem bestimmten Index.
Die Contains Methode, um zu bestimmen, ob sich eine bestimmte Gruppe bereits in der Auflistung befindet.
Die IndexOf Methode zum Abrufen des Indexes einer Gruppe innerhalb der Auflistung.
Der Item[] Indexer zum Abrufen oder Festlegen der Gruppe auf einen bestimmten Index mithilfe der Arraynotation.
Die AddRange Methode zum Hinzufügen mehrerer Gruppen zur Auflistung.
Sie können mehrere Gruppen entweder als Array von Gruppen oder als TemplateGroupCollection Objekt hinzufügen, das Sie über die TemplateGroups Eigenschaft eines anderen Steuerelement-Designers abrufen.
Die Clear Methode zum Entfernen aller Gruppen aus der Auflistung.
Konstruktoren
TemplateGroupCollection() |
Initialisiert eine neue Instanz der TemplateGroupCollection-Klasse. |
Eigenschaften
Count |
Ruft die Anzahl der TemplateGroup-Objekte in der Auflistung ab. |
Item[Int32] |
Ruft ein TemplateGroup-Objekt am angegebenen Index in der Auflistung ab oder legt dieses fest. |
Methoden
Add(TemplateGroup) |
Fügt das angegebene TemplateGroup-Objekt am Ende der Auflistung hinzu. |
AddRange(TemplateGroupCollection) |
Fügt die Vorlagengruppen in einem vorhandenen TemplateGroupCollection-Objekt dem aktuellen TemplateGroupCollection-Objekt hinzu. |
Clear() |
Entfernt alle Gruppen aus der Auflistung. |
Contains(TemplateGroup) |
Bestimmt, ob die angegebene Gruppe in der Auflistung enthalten ist. |
CopyTo(TemplateGroup[], Int32) |
Kopiert die Gruppen in der Auflistung in ein kompatibles eindimensionales Array, beginnend ab dem angegebenen Index im Zielarray. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IndexOf(TemplateGroup) |
Gibt den Index des angegebenen TemplateGroup-Objekts in der Auflistung zurück. |
Insert(Int32, TemplateGroup) |
Fügt ein TemplateGroup-Objekt am angegebenen Index in die Auflistung ein. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Remove(TemplateGroup) |
Entfernt das angegebene TemplateGroup-Objekt aus der Auflistung. |
RemoveAt(Int32) |
Entfernt das TemplateGroup-Objekt am angegebenen Index der Auflistung. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
ICollection.CopyTo(Array, Int32) |
Eine Beschreibung dieses Elements finden Sie unter CopyTo(Array, Int32). |
ICollection.Count |
Eine Beschreibung dieses Elements finden Sie unter Count. |
ICollection.IsSynchronized |
Eine Beschreibung dieses Elements finden Sie unter IsSynchronized. |
ICollection.SyncRoot |
Eine Beschreibung dieses Elements finden Sie unter SyncRoot. |
IEnumerable.GetEnumerator() |
Eine Beschreibung dieses Elements finden Sie unter GetEnumerator(). |
IList.Add(Object) |
Eine Beschreibung dieses Elements finden Sie unter Add(Object). |
IList.Clear() |
Eine Beschreibung dieses Elements finden Sie unter Clear(). |
IList.Contains(Object) |
Eine Beschreibung dieses Elements finden Sie unter Contains(Object). |
IList.IndexOf(Object) |
Eine Beschreibung dieses Elements finden Sie unter IndexOf(Object). |
IList.Insert(Int32, Object) |
Eine Beschreibung dieses Elements finden Sie unter Insert(Int32, Object). |
IList.IsFixedSize |
Eine Beschreibung dieses Elements finden Sie unter IsFixedSize. |
IList.IsReadOnly |
Eine Beschreibung dieses Elements finden Sie unter IsReadOnly. |
IList.Item[Int32] |
Eine Beschreibung dieses Members finden Sie unter der IList-Klasse. |
IList.Remove(Object) |
Eine Beschreibung dieses Elements finden Sie unter Remove(Object). |
IList.RemoveAt(Int32) |
Eine Beschreibung dieses Elements finden Sie unter RemoveAt(Int32). |
Erweiterungsmethoden
Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um |
OfType<TResult>(IEnumerable) |
Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs |
AsParallel(IEnumerable) |
Ermöglicht die Parallelisierung einer Abfrage. |
AsQueryable(IEnumerable) |
Konvertiert einen IEnumerable in einen IQueryable. |