Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un editor de plantillas es un diseñador de uso especial que permite la creación y modificación de plantillas para un control de servidor ASP.NET basado en plantilla. Un control con un editor de plantillas presenta una superficie de diseño en la que un programador de páginas puede arrastrar controles desde el cuadro de herramientas para crear plantillas en pantalla. Los controles de servidor DataList y DataGrid de .NET Framework SDK son ejemplos de controles que admiten la modificación de plantillas. Para obtener información sobre cómo crear un control con plantilla, vea Desarrollar un control con plantillas.
.NET Framework proporciona una clase base abstracta (System.Web.UI .Design.TemplatedControlDesigner) que se deriva de ControlDesigner, y expone propiedades y métodos necesarios para la modificación de plantillas. Un editor de plantillas debe derivar de TemplatedControlDesigner. En el siguiente procedimiento se describen los pasos principales para implementar un editor de plantillas.
Para implementar un editor de plantillas
Defina una clase que se derive de TemplatedControlDesigner.
Reemplace la propiedad AllowResize heredada de ControlDesigner para permitir el cambio de tamaño del control. Se recomienda que sea posible cambiar el tamaño de los controles en modo de plantilla, incluso aunque normalmente no sea posible hacerlo.
Reemplace el método GetCachedTemplateEditingVerbs. Un control reemplaza este método para devolver la lista de verbos de modificación de plantillas aplicables al control. Vea el paso 4 para obtener una descripción de un verbo de modificación de plantillas.
Reemplace el método CreateTemplateEditingFrame. Este método toma una instancia de TemplateEditingVerb como argumento. TemplateEditingVerb es un verbo de diseñador (una clase que se deriva de DesignerVerb) que permite al editor de plantillas agregar un comando al control en tiempo de diseño. Para obtener información general acerca de los verbos de diseñador, vea Verbos de diseñador.
Reemplace el método GetTemplateContent que obtiene el contenido de la plantilla.
Reemplace el método SetTemplateContent que establece el contenido de la plantilla.
Como ocurre con cualquier otro diseñador, reemplace los métodos GetDesignTimeHtml, GetEmptyDesignTimeHtml y GetErrorDesignTimeHtml heredados de la clase ControlDesigner. Si el control con plantilla está enlazado a datos, el método GetDesignTimeHtml reemplazado debe establecer el origen de datos del control como el origen de datos en tiempo de diseño, como se describe en Implementar un diseñador de controles enlazados a datos de formularios Web Forms.
Si el control con plantilla está enlazado a datos, también debe implementar los pasos descritos en Implementar un diseñador de controles enlazados a datos de formularios Web Forms y reemplazar los siguientes métodos adicionales de TemplatedControlDesigner (que se describen en los pasos 8 y 9).
Reemplace el método GetTemplateContainerDataSource para proporcionar el origen de datos del contenedor de plantillas. Se le llama desde el cuadro de diálogo de enlace a datos al modificar los enlaces a datos de los controles situados dentro de una plantilla.
Reemplace el método GetTemplateContainerDataItemProperty para tener acceso al nombre de la propiedad DataItem del contenedor de plantillas.
Para obtener un ejemplo de un editor de plantillas, vea Ejemplo de diseñador de controles de formularios Web Forms enlazados a datos basados en plantillas.
Vea también
Ejemplo de diseñador de controles de formularios Web Forms enlazados a datos a partir de plantillas | Implementar un diseñador de controles enlazados a datos de formularios Web Forms | Diseñadores personalizados | Compatibilidad en tiempo de diseño con formularios Web Forms