Freigeben über


EditorPartCollection Konstruktoren

Definition

Initialisiert eine neue Instanz der EditorPartCollection-Klasse.

Überlädt

EditorPartCollection()

Initialisiert eine neue, leere Instanz der EditorPartCollection-Klasse.

EditorPartCollection(ICollection)

Initialisiert eine neue Instanz der EditorPartCollection-Klasse, indem eine ICollection-Auflistung von EditorPart-Steuerelementen übergeben wird.

EditorPartCollection(EditorPartCollection, ICollection)

Initialisiert eine neue Instanz der EditorPartCollection-Klasse, indem eine EditorPartCollection-Auflistung von EditorPart-Steuerelementen und eine ICollection-Auflistung von zusätzlichen EditorPart-Steuerelementen übergeben wird.

EditorPartCollection()

Initialisiert eine neue, leere Instanz der EditorPartCollection-Klasse.

public:
 EditorPartCollection();
public EditorPartCollection ();
Public Sub New ()

Hinweise

Der EditorPartCollection Konstruktor initialisiert eine leere Instanz der EditorPartCollection -Klasse. Diese Überladung des Konstruktors wird intern von der EditorZone -Klasse in ihrer CreateEditorParts -Methode verwendet, um ein leeres Auflistungsobjekt zu erstellen. Die Zone erstellt dann Instanzen aller Steuerelemente, die EditorPart in der Vorlage für die untergeordnete Zone deklariert sind, und verwendet eine interne Methode, um sie der Auflistung hinzuzufügen.

Sie können diese Überladung des EditorPartCollection Konstruktors nicht verwenden, um eine neue Instanz von EditorPartCollection zu erstellen und ihr Steuerelemente hinzuzufügen EditorPart . Sie müssen stattdessen eine der anderen Überladungen für den EditorPartCollection Konstruktor verwenden.

Weitere Informationen

Gilt für:

EditorPartCollection(ICollection)

Initialisiert eine neue Instanz der EditorPartCollection-Klasse, indem eine ICollection-Auflistung von EditorPart-Steuerelementen übergeben wird.

public:
 EditorPartCollection(System::Collections::ICollection ^ editorParts);
public EditorPartCollection (System.Collections.ICollection editorParts);
new System.Web.UI.WebControls.WebParts.EditorPartCollection : System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.EditorPartCollection
Public Sub New (editorParts As ICollection)

Parameter

editorParts
ICollection

Eine ICollection von EditorPart-Steuerelementen.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie eine benutzerdefinierte EditorPartCollection Erstellen und, obwohl die Auflistung schreibgeschützt ist, dennoch einen Batchvorgang ausführen, um die einzelnen EditorPart Steuerelemente in der Auflistung zu ändern. Den vollständigen Code, der zum Ausführen des Beispiels erforderlich ist, finden Sie im Abschnitt Beispiel der EditorPartCollection Klassenübersicht.

Der Code im Button1_Click -Ereignis erstellt ein ArrayList -Objekt, fügt dem -Objekt zwei der drei EditorPart Steuerelemente auf der Seite hinzu und erstellt dann mithilfe des EditorPartCollection Konstruktors ein neues EditorPartCollection -Objekt. Außerdem wird veranschaulicht, wie Sie Änderungen an den zugrunde liegenden EditorPart Steuerelementen vornehmen können, obwohl die Sammlung schreibgeschützt ist.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Button1_Click(object sender, EventArgs e)
  {
    ArrayList list = new ArrayList(2);
    list.Add(AppearanceEditorPart1);
    list.Add(PropertyGridEditorPart1);
    // Pass an ICollection object to the constructor.
    EditorPartCollection myParts = new EditorPartCollection(list);
    foreach (EditorPart editor in myParts)
    {
      editor.BackColor = System.Drawing.Color.LightBlue;
      editor.Description = "My " + editor.DisplayTitle + " editor.";
    }

    // Use the IndexOf property to locate an EditorPart control.
    int propertyGridPart = myParts.IndexOf(PropertyGridEditorPart1);
    myParts[propertyGridPart].ChromeType = PartChromeType.TitleOnly;

    // Use the Contains method to see if an EditorPart exists.
    if(!myParts.Contains(LayoutEditorPart1))
      LayoutEditorPart1.BackColor = System.Drawing.Color.LightYellow;
    
    // Use the CopyTo method to create an array of EditorParts.
    EditorPart[] partArray = new EditorPart[3];
    partArray[0] = LayoutEditorPart1;
    myParts.CopyTo(partArray,1);
    Label1.Text = "<h3>EditorParts in Custom Array</h3>";
    foreach (EditorPart ePart in partArray)
    {
      Label1.Text += ePart.Title + "<br />";
    }

  }

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As EventArgs)
    
    Dim list As New ArrayList(2)
    list.Add(AppearanceEditorPart1)
    list.Add(PropertyGridEditorPart1)
    ' Pass an ICollection object to the constructor.
    Dim myParts As New EditorPartCollection(list)
    Dim editor As EditorPart
    For Each editor In myParts
      editor.BackColor = System.Drawing.Color.LightBlue
      editor.Description = "My " + editor.DisplayTitle + " editor."
    Next editor
    
    ' Use the IndexOf property to locate an EditorPart control.
    Dim propertyGridPart As Integer = _
      myParts.IndexOf(PropertyGridEditorPart1)
    myParts(propertyGridPart).ChromeType = PartChromeType.TitleOnly
    
    ' Use the Contains method to see if an EditorPart exists.
    If Not myParts.Contains(LayoutEditorPart1) Then
      LayoutEditorPart1.BackColor = System.Drawing.Color.LightYellow
    End If
    
    ' Use the CopyTo method to create an array of EditorParts.
    Dim partArray(2) As EditorPart
    partArray(0) = LayoutEditorPart1
    myParts.CopyTo(partArray, 1)
    Label1.Text = "<h3>EditorParts in Custom Array</h3>"
    Dim ePart As EditorPart
    For Each ePart In partArray
      Label1.Text += ePart.Title + "<br />"
    Next ePart

  End Sub

</script>

Sie können die Seite in einem Browser laden und in den Bearbeitungsmodus wechseln, indem Sie im Dropdown-Listensteuerelement Anzeigemodus die Option Bearbeiten auswählen. Sie können auf das Verbenmenü (den Pfeil nach unten) in der Titelleiste des TextDisplayWebPart Steuerelements klicken und dann auf Bearbeiten klicken, um das Steuerelement zu bearbeiten. Wenn die Bearbeitungs-Benutzeroberfläche (UI) angezeigt wird, werden alle EditorPart Steuerelemente angezeigt. Klicken Sie auf die Schaltfläche Editor erstellenPartCollection , um die Auswirkungen auf die beiden EditorPart Steuerelemente anzuzeigen, die dem EditorPartCollection Objekt hinzugefügt werden.

Hinweise

Der EditorPartCollection Konstruktor initialisiert eine Instanz der EditorPartCollection -Klasse und übergibt eine Auflistung von Steuerelementen EditorPart . Dies ist eine Überladung des Konstruktors, mit dem EditorPartCollection Sie ein neues EditorPartCollection Objekt erstellen und diesem Steuerelemente hinzufügen EditorPart können.

Obwohl die EditorPartCollection vom Konstruktor erstellte Instanz schreibgeschützt ist, können Sie dennoch programmgesteuert auf die einzelnen EditorPart Steuerelemente in der Auflistung zugreifen und deren Eigenschaften und Methoden aufrufen.

Ein häufiges Szenario für die Verwendung des EditorPartCollection Konstruktors ist, wenn Sie einen Batchvorgang für einen ganzen Satz von EditorPart Steuerelementen ausführen möchten, z. B. das Ändern des Inhalts, der Darstellung oder der Position einer verwandten Gruppe von ihnen.

Ein weiteres gängiges Szenario für die Verwendung des Konstruktors ist die EditorPartCollection Entwicklung benutzerdefinierter EditorPart Steuerelemente, die Sie einem Serversteuerelement zuordnen möchten, damit Benutzer benutzerdefinierte Eigenschaften für Ihr Steuerelement bearbeiten können. In diesem Szenario muss Ihr Serversteuerelement die IWebEditable -Schnittstelle implementieren und im Rahmen dieser Aufgabe die CreateEditorParts -Methode implementieren. Damit die benutzerdefinierten EditorPart Steuerelemente Ihr Serversteuerelement bearbeiten können, müssen Sie die EditorPart Steuerelemente bei dieser Methode einer ICollection Instanz hinzufügen, z. B. einem ArrayList -Objekt. Anschließend können Sie die Auflistung von EditorPart Steuerelementen an den EditorPartCollection Konstruktor übergeben, um ein neues EditorPartCollection Objekt zu erstellen, das die EditorZoneBase Zone verwendet, um alle Steuerelemente einzurichten und den Bearbeitungsprozess zu starten.

Weitere Informationen

Gilt für:

EditorPartCollection(EditorPartCollection, ICollection)

Initialisiert eine neue Instanz der EditorPartCollection-Klasse, indem eine EditorPartCollection-Auflistung von EditorPart-Steuerelementen und eine ICollection-Auflistung von zusätzlichen EditorPart-Steuerelementen übergeben wird.

public:
 EditorPartCollection(System::Web::UI::WebControls::WebParts::EditorPartCollection ^ existingEditorParts, System::Collections::ICollection ^ editorParts);
public EditorPartCollection (System.Web.UI.WebControls.WebParts.EditorPartCollection existingEditorParts, System.Collections.ICollection editorParts);
new System.Web.UI.WebControls.WebParts.EditorPartCollection : System.Web.UI.WebControls.WebParts.EditorPartCollection * System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.EditorPartCollection
Public Sub New (existingEditorParts As EditorPartCollection, editorParts As ICollection)

Parameter

existingEditorParts
EditorPartCollection

Eine ICollection vorhandener EditorPart-Steuerelemente in einer Zone.

editorParts
ICollection

Eine ICollection von EditorPart-Steuerelementen, die nicht in einer Zone vorhanden sind, sondern programmgesteuert erstellt wurden.

Weitere Informationen

Gilt für: