Freigeben über


Implementieren eines Vorlagen-Editors für Web Forms

Ein Vorlagen-Editor ist ein Designer mit einem speziellen Zweck, der die Erstellung und Bearbeitung für ein ASP.NET-Serversteuerelement mit Vorlagen unterstützt. Ein Steuerelement mit einem Vorlagen-Editor stellt eine Entwurfsoberfläche dar, auf die ein Seitenentwickler Steuerelemente aus der Toolbox ziehen und ablegen kann, um Inlinevorlagen zu erstellen. Das DataList-Steuerelement und das DataGrid-Steuerelement im .NET Framework-SDK sind Beispiele für Steuerelemente, die das Bearbeiten von Vorlagen unterstützen. Weitere Informationen zum Erstellen von Vorlagensteuerelementen finden Sie unter Entwickeln eines Steuerelements mit Vorlagen.

.NET Framework stellt eine abstrakte Basisklasse bereit (System.Web.UI .Design.TemplatedControlDesigner), die von ControlDesigner abgeleitet wird und für die Bearbeitung von Vorlagen benötigte Eigenschaften und Methoden offen legt. Der Vorlagen-Editor muss von TemplatedControlDesigner abgeleitet werden. In der folgenden Vorgehensweise werden die wichtigsten Schritte zum Implementieren eines Vorlagen-Editors beschrieben.

So implementieren Sie einen Vorlagen-Editor

  1. Definieren Sie eine Klasse, die von TemplatedControlDesigner abgeleitet wird.

  2. Setzen Sie die von ControlDesigner geerbte AllowResize-Eigenschaft außer Kraft, damit die Größe des Steuerelements geändert werden kann. Es wird empfohlen, dass das Ändern der Größe von Steuerelementen im Vorlagenmodus möglich ist, selbst wenn das Ändern der Größe in der Regel nicht zulässig ist.

  3. Setzen Sie die GetCachedTemplateEditingVerbs-Methode außer Kraft. Ein Steuerelement setzt diese Methode außer Kraft, um die Liste der Vorlagenbearbeitungsverben zurückzugeben, die für das Steuerelement anwendbar sind. Unter Schritt 4 finden Sie eine Beschreibung eines Vorlagenbearbeitungsverbs.

  4. Setzen Sie die CreateTemplateEditingFrame-Methode außer Kraft. Diese Methode nimmt eine TemplateEditingVerb-Instanz als Argument an. TemplateEditingVerb ist ein Designerverb (eine Klasse, die von DesignerVerb abgeleitet wird), das es dem Vorlagen-Editor ermöglicht, dem Steuerelement zur Entwurfszeit einen Befehl hinzuzufügen. Hintergrundinformationen zu Designerverben finden Sie unter Designerverben.

  5. Setzen Sie die GetTemplateContent-Methode außer Kraft, die den Vorlageninhalt erhält.

  6. Setzen Sie die SetTemplateContent-Methode außer Kraft, die den Vorlageninhalt festlegt.

  7. Setzen Sie analog zu anderen Designern die GetDesignTimeHtml-Methode, die GetEmptyDesignTimeHtml-Methode und die GetErrorDesignTimeHtml-Methode außer Kraft, die jeweils von der ControlDesigner-Klasse geerbt wurden. Wenn das Steuerelement mit Vorlagen datengebunden ist, muss die außer Kraft gesetzte GetDesignTimeHtml-Methode für die Datenquelle des Steuerelements die Entwurfszeitdatenquelle festlegen. Eine Beschreibung finden Sie unter Implementieren eines datengebundenen Steuerelement-Designers für Web Forms.

    Wenn das Steuerelement mit Vorlagen datengebunden ist, müssen Sie die unter Implementieren eines datengebundenen Steuerelement-Designers für Web Forms beschriebenen Schritte implementieren und die folgenden zusätzlichen Methoden von TemplatedControlDesigner außer Kraft setzen (in Schritt 8 und 9 beschrieben).

  8. Setzen Sie die GetTemplateContainerDataSource-Methode außer Kraft, um die Datenquelle des Vorlagencontainers bereitzustellen. Dieser wird beim Bearbeiten der Datenbindungen von Steuerelementen innerhalb einer Vorlage aus dem Datenbindungsdialogfeld abgerufen.

  9. Setzen Sie die GetTemplateContainerDataItemProperty-Methode außer Kraft, um auf den Namen der DataItem-Eigenschaft des Vorlagencontainers zuzugreifen.

Unter Beispiel für einen datengebundenen Steuerelement-Designer mit Vorlagen in Web Forms finden Sie ein Beispiel für einen Vorlagen-Editor.

Siehe auch

Beispiel für einen datengebundenen Steuerelement-Designer mit Vorlagen in Web Forms | Implementieren eines datengebundenen Steuerelement-Designers für Web Forms | Benutzerdefinierte Designer | Entwurfszeitunterstützung für Web Forms