WebPartDesigner Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona compatibilidad visual en tiempo de diseño para los controles WebPart.
public ref class WebPartDesigner : System::Web::UI::Design::WebControls::WebParts::PartDesigner
public class WebPartDesigner : System.Web.UI.Design.WebControls.WebParts.PartDesigner
type WebPartDesigner = class
inherit PartDesigner
Public Class WebPartDesigner
Inherits PartDesigner
- Herencia
Ejemplos
En el ejemplo de código siguiente se muestra la interacción entre un WebPart control y su asociado WebPartDesigner. El WebPart control contiene un Calendar control del que el usuario final selecciona su cumpleaños, un Button control para enviar la selección y un Label control para mostrar un mensaje en el cumpleaños del usuario. WebPartDesigner Comprueba que el control asociado es del tipo esperado y, a continuación, personaliza la representación en tiempo de diseño de dicho control. Tenga en cuenta que las personalizaciones visuales del diseñador solo son visibles en tiempo de diseño, mientras que las del control asociado son visibles tanto en tiempo de ejecución como en tiempo de diseño.
Todos los métodos invalidados en este ejemplo derivan de la ControlDesigner clase base. Para otros miembros disponibles y su uso, vea System.Web.UI.Design.ControlDesigner.
using System;
using System.Security.Permissions;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.Design.WebControls.WebParts;
using System.ComponentModel;
/// <summary>
/// BirthdayPart demonstrates some of the most
/// common overrides of members of the WebPart
/// class. BirthdayPartDesigner shows how to
/// customize the rendering of a custom WebPart
/// control.
/// </summary>
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand,
Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level=AspNetHostingPermissionLevel.Minimal)]
[Designer(typeof(BirthdayPartDesigner))]
public class BirthdayPart : WebPart
{
private DateTime birthDate;
Calendar input;
Label displayContent;
public BirthdayPart()
{
this.AllowClose = false;
this.Title = "Enter your birthday";
}
[
Personalizable(PersonalizationScope.User, true),
WebBrowsable()
]
public DateTime BirthDate
{
get { return birthDate; }
set { birthDate = value; }
}
// Set the appearance of the control at run time.
protected override void CreateChildControls()
{
Controls.Clear();
input = new Calendar();
this.Controls.Add(input);
Button update = new Button();
update.Text = "Submit";
update.Click += new EventHandler(this.submit_Click);
this.Controls.Add(update);
displayContent = new Label();
displayContent.BackColor =
System.Drawing.Color.LightBlue;
Literal br = new Literal();
br.Text = "<br />";
if ((this.birthDate.Day == DateTime.Now.Day)
&& (this.birthDate.Month == DateTime.Now.Month))
{
displayContent.Text = "Happy Birthday!";
this.Controls.Add(br);
this.Controls.Add(displayContent);
}
}
private void submit_Click(object sender, EventArgs e)
{
this.birthDate = input.SelectedDate;
}
}
public class BirthdayPartDesigner : WebPartDesigner
{
public override void Initialize(IComponent component)
{
// Verify that the associated control is a BirthdayPart.
if (!typeof(BirthdayPart).IsInstanceOfType(component))
{
throw new ArgumentException("The specified control is not of type 'BirthdayPart'", "component");
}
base.Initialize(component);
}
// Here is where you make customizations
// to design time appearance that will not
// be visible to the end user.
public override string GetDesignTimeHtml()
{
string designTimeHtml = null;
try
{
designTimeHtml = base.GetDesignTimeHtml();
string s = "<hr /><hr />I just added these lines to the"
+ " bottom of the control.<hr /><hr /></div>";
designTimeHtml = designTimeHtml.Replace("</div>", s);
}
catch (Exception ex)
{
designTimeHtml = GetErrorDesignTimeHtml(ex);
}
finally
{
// undo any changes in the try block
}
if ((designTimeHtml == null) || (designTimeHtml.Length == 0))
{
designTimeHtml = GetEmptyDesignTimeHtml();
}
return designTimeHtml;
}
// This method normally returns a blank string.
// Override to return a meaningful message.
protected override string GetEmptyDesignTimeHtml()
{
return CreatePlaceHolderDesignTimeHtml(
"<hr />If the page developer forgot to fill in a " +
"required property you could tell them here.<hr />");
}
// Add specific text to the generic error message.
protected override string GetErrorDesignTimeHtml(Exception e)
{
string s = "<hr />The control failed to render.";
return(s + e.Message + "<hr />");
}
}
}
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.Design.WebControls.WebParts
Imports System.ComponentModel
' BirthdayPart demonstrates some of the most
' common overrides of members of the WebPart
' class. BirthdayPartDesigner shows how to
' customize the rendering of a custom WebPart
' control.
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, Level:=AspNetHostingPermissionLevel.Minimal)> _
<Designer(GetType(BirthdayPartDesigner))> _
Public Class BirthdayPart
Inherits WebPart
Private m_birthDate As DateTime
Private input As Calendar
Private displayContent As Label
Public Sub New()
Me.AllowClose = False
Me.Title = "Enter your birthday"
End Sub
<Personalizable(PersonalizationScope.User, True), WebBrowsable()> _
Public Property BirthDate() As DateTime
Get
Return m_birthDate
End Get
Set(value As DateTime)
m_birthDate = value
End Set
End Property
' Set the appearance of the control at run time.
Protected Overrides Sub CreateChildControls()
Controls.Clear()
input = New Calendar()
Me.Controls.Add(input)
Dim update As New Button()
update.Text = "Submit"
AddHandler update.Click, New EventHandler(AddressOf Me.submit_Click)
Me.Controls.Add(update)
displayContent = New Label()
displayContent.BackColor = System.Drawing.Color.LightBlue
Dim br As New Literal()
br.Text = "<br />"
If (Me.m_birthDate.Day = DateTime.Now.Day) AndAlso (Me.m_birthDate.Month = DateTime.Now.Month) Then
displayContent.Text = "Happy Birthday!"
Me.Controls.Add(br)
Me.Controls.Add(displayContent)
End If
End Sub
Private Sub submit_Click(sender As Object, e As EventArgs)
Me.m_birthDate = input.SelectedDate
End Sub
End Class
Public Class BirthdayPartDesigner
Inherits WebPartDesigner
Public Overrides Sub Initialize(component As IComponent)
' Verify that the associated control is a BirthdayPart.
If Not GetType(BirthdayPart).IsInstanceOfType(component) Then
Throw New ArgumentException("The specified control is not of type 'BirthdayPart'", "component")
End If
MyBase.Initialize(component)
End Sub
' Here is where you make customizations
' to design time appearance that will not
' be visible to the end user.
Public Overrides Function GetDesignTimeHtml() As String
Dim designTimeHtml As String = Nothing
Try
designTimeHtml = MyBase.GetDesignTimeHtml()
Dim s As String = "<hr /><hr />I just added these lines to the" & " bottom of the control.<hr /><hr /></div>"
designTimeHtml = designTimeHtml.Replace("</div>", s)
Catch ex As Exception
designTimeHtml = GetErrorDesignTimeHtml(ex)
' undo any changes in the try block
Finally
End Try
If (designTimeHtml Is Nothing) OrElse (designTimeHtml.Length = 0) Then
designTimeHtml = GetEmptyDesignTimeHtml()
End If
Return designTimeHtml
End Function
' This method normally returns a blank string.
' Override to return a meaningful message.
Protected Overrides Function GetEmptyDesignTimeHtml() As String
Return CreatePlaceHolderDesignTimeHtml("<hr />If the page developer forgot to fill in a " & "required property you could tell them here.<hr />")
End Function
' Add specific text to the generic error message.
Protected Overrides Function GetErrorDesignTimeHtml(e As Exception) As String
Dim s As String = "<hr />The control failed to render."
Return (s & e.Message & "<hr />")
End Function
End Class
End Namespace
Comentarios
La WebPartDesigner clase proporciona la representación visual de WebPart los controles en tiempo de diseño. Se deriva de la PartDesigner clase y agrega validación para comprobar que el control asociado es un control o un WebPart tipo derivado.
WebPartDesigner hereda una UsePreviewControl propiedad de su elemento primario que siempre se establece true
en . Esto hace que el entorno de diseño visual genere un View control que contenga una copia temporal de en WebPart la superficie de diseño; esta copia se conserva en el marcado. Si invalida la UsePreviewControl propiedad para devolver false
, el entorno de diseño visual genera marcado directamente desde el control real WebPart .
Los diseñadores de elementos web suelen actuar de forma muy similar a los diseñadores de controles normales; Los métodos principales para establecer la apariencia en tiempo de diseño derivan de la ControlDesigner clase . En concreto, puede invalidar el GetDesignTimeHtml método para cambiar el marcado en tiempo de diseño asociado al control . Del mismo modo, puede invalidar los GetErrorDesignTimeHtml métodos y GetEmptyDesignTimeHtml para controlar errores y cadenas vacías (""), respectivamente.
Constructores
WebPartDesigner() |
Inicializa una nueva instancia de la clase WebPartDesigner. |
Propiedades
ActionLists |
Obtiene la colección de listas de acciones para el diseñador de controles. (Heredado de ControlDesigner) |
AllowResize |
Obtiene un valor que indica si se puede cambiar el tamaño del control en el entorno en tiempo de diseño. (Heredado de ControlDesigner) |
AssociatedComponents |
Obtiene la colección de componentes asociados al componente administrado por el diseñador. (Heredado de ComponentDesigner) |
AutoFormats |
Obtiene la colección de esquemas de formato automático predefinidos para mostrarla en tiempo de diseño en el cuadro de diálogo Formato automático correspondiente al control asociado. (Heredado de ControlDesigner) |
Behavior |
Obsoletos.
Obtiene o establece el comportamiento DHTML asociado al diseñador. (Heredado de HtmlControlDesigner) |
Component |
Obtiene el componente que el diseñador está creando. (Heredado de ComponentDesigner) |
DataBindings |
Obtiene la colección de enlaces de datos del control actual. (Heredado de HtmlControlDesigner) |
DataBindingsEnabled |
Obtiene un valor que indica si la región contenedora del control asociado permite el enlace a datos. (Heredado de ControlDesigner) |
DesignerState |
Obtiene un objeto que se utiliza para guardar los datos del control asociado en tiempo de diseño. (Heredado de ControlDesigner) |
DesignTimeElement |
Obsoletos.
Obtiene el objeto en tiempo de diseño que representa el control asociado al objeto HtmlControlDesigner en la superficie de diseño. (Heredado de HtmlControlDesigner) |
DesignTimeElementView |
Obsoletos.
Obtiene el objeto de control de vista para el diseñador de controles. (Heredado de ControlDesigner) |
DesignTimeHtmlRequiresLoadComplete |
Obsoletos.
Obtiene un valor que indica si el host de diseño debe terminar de cargarse antes de que se pueda llamar al método GetDesignTimeHtml. (Heredado de ControlDesigner) |
Expressions |
Obtiene los enlaces de expresión en tiempo de diseño para el control actual. (Heredado de HtmlControlDesigner) |
HidePropertiesInTemplateMode |
Obtiene un valor que indica si las propiedades del control asociado están ocultas cuando el control está en modo de plantilla. (Heredado de ControlDesigner) |
ID |
Obtiene o establece la cadena del identificador del control. (Heredado de ControlDesigner) |
InheritanceAttribute |
Obtiene un atributo que indica el tipo de herencia del componente asociado. (Heredado de ComponentDesigner) |
Inherited |
Obtiene un valor que indica si este componente es heredado. (Heredado de ComponentDesigner) |
InTemplateMode |
Obtiene un valor que indica si el control está en el modo de vista o de edición de plantilla en el host de diseño. La propiedad InTemplateMode es de sólo lectura. (Heredado de ControlDesigner) |
IsDirty |
Obsoletos.
Obtiene o establece un valor que indica si el control de servidor Web se ha marcado como modificado. (Heredado de ControlDesigner) |
ParentComponent |
Obtiene el componente primario de este diseñador. (Heredado de ComponentDesigner) |
ReadOnly |
Obsoletos.
Obtiene o establece un valor que indica si las propiedades del control son de sólo lectura en tiempo de diseño. (Heredado de ControlDesigner) |
RootDesigner |
Obtiene el diseñador de controles para la página de formularios Web Forms que contiene el control asociado. (Heredado de ControlDesigner) |
SetTextualDefaultProperty |
Proporciona compatibilidad visual en tiempo de diseño para los controles WebPart. (Heredado de ComponentDesigner) |
ShadowProperties |
Obtiene una colección de valores de propiedad que reemplazan la configuración del usuario. (Heredado de ComponentDesigner) |
ShouldCodeSerialize |
Obsoletos.
Obtiene o establece un valor que indica si se debe crear una declaración de campo para el control en el archivo de código subyacente para el documento de diseño actual durante la serialización. (Heredado de HtmlControlDesigner) |
Tag |
Obtiene un objeto que representa el elemento de formato HTML del control asociado. (Heredado de ControlDesigner) |
TemplateGroups |
Obtiene una colección de grupos de plantillas, cada una con una o varias definiciones de plantilla. (Heredado de ControlDesigner) |
UsePreviewControl |
Obtiene un valor que indica si el diseñador debe usar una copia temporal, en lugar del control real que está asociado al diseñador, para generar el marcado en tiempo de diseño. (Heredado de PartDesigner) |
Verbs |
Obtiene los verbos en tiempo de diseño que admite el componente asociado al diseñador. (Heredado de ComponentDesigner) |
ViewControl |
Obtiene o establece un control de servidor Web que se puede utilizar para ofrecer una vista previa del formato HTML en tiempo de diseño. (Heredado de ControlDesigner) |
ViewControlCreated |
Obtiene o establece un valor que indica si se ha creado un control |
Visible |
Obtiene un valor que indica si el control está visible en tiempo de diseño. (Heredado de ControlDesigner) |
Métodos
CreateChildControls() |
Crea los controles secundarios de este control CompositeControl. (Heredado de CompositeControlDesigner) |
CreateErrorDesignTimeHtml(String) |
Crea el formato HTML para mostrar un mensaje de error especificado en tiempo de diseño. (Heredado de ControlDesigner) |
CreateErrorDesignTimeHtml(String, Exception) |
Crea el formato HTML para mostrar un mensaje de error de excepción especificado en tiempo de diseño. (Heredado de ControlDesigner) |
CreatePlaceHolderDesignTimeHtml() |
Proporciona una representación sencilla del marcador de posición rectangular que muestra el tipo y el Id. del control. (Heredado de ControlDesigner) |
CreatePlaceHolderDesignTimeHtml(String) |
Proporciona una representación sencilla del marcador de posición rectangular que muestra el tipo y el Id. del control, así como instrucciones o información adicionales que se hayan especificado. (Heredado de ControlDesigner) |
CreateViewControl() |
Devuelve una copia del control asociado para verlo o representarlo en la superficie de diseño. (Heredado de ControlDesigner) |
Dispose() |
Libera todos los recursos que usa ComponentDesigner. (Heredado de ComponentDesigner) |
Dispose(Boolean) |
Libera los recursos no administrados utilizados por el objeto HtmlControlDesigner y, de forma opcional, libera los recursos administrados. (Heredado de HtmlControlDesigner) |
DoDefaultAction() |
Crea una firma de método en el archivo de código fuente para el evento predeterminado del componente y hace navegar el cursor del usuario en esa ubicación. (Heredado de ComponentDesigner) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetBounds() |
Recupera las coordenadas del rectángulo que representa los límites del control mostrado en la superficie de diseño. (Heredado de ControlDesigner) |
GetDesignTimeHtml() |
Obtiene el código HTML que se usa para representar el control en tiempo de diseño. (Heredado de CompositeControlDesigner) |
GetDesignTimeHtml(DesignerRegionCollection) |
Recupera el formato HTML para mostrar el control y rellena la colección con las regiones actuales del diseñador de controles. (Heredado de ControlDesigner) |
GetEditableDesignerRegionContent(EditableDesignerRegion) |
Devuelve el contenido de una región modificable de la vista en tiempo de diseño del control asociado. (Heredado de ControlDesigner) |
GetEmptyDesignTimeHtml() |
Recupera el formato HTML para presentar un control de servidor web en tiempo de diseño que no tendrá ninguna representación visual en tiempo de ejecución. (Heredado de ControlDesigner) |
GetErrorDesignTimeHtml(Exception) |
Recupera el formato HTML que proporciona información sobre la excepción especificada. (Heredado de ControlDesigner) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetPersistenceContent() |
Recupera el formato HTML interno con persistencia del control en tiempo de diseño. (Heredado de ControlDesigner) |
GetPersistInnerHtml() |
Obsoletos.
Recupera el formato HTML interno con persistencia del control. (Heredado de ControlDesigner) |
GetService(Type) |
Intenta recuperar el tipo de servicio especificado del sitio en modo de diseño del componente del diseñador. (Heredado de ComponentDesigner) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetViewRendering() |
Recupera un objeto que contiene el formato en tiempo de diseño para el contenido y las regiones del control asociado. (Heredado de ControlDesigner) |
Initialize(IComponent) |
Enlaza el diseñador a un control y valida que el control sea un control WebPart. |
InitializeExistingComponent(IDictionary) |
Reinicializa un componente existente. (Heredado de ComponentDesigner) |
InitializeNewComponent(IDictionary) |
Inicializa un componente recién creado. (Heredado de ComponentDesigner) |
InitializeNonDefault() |
Obsoletos.
Obsoletos.
Inicializa la configuración de un componente importado que ya se ha inicializado con una configuración que no es la predeterminada. (Heredado de ComponentDesigner) |
Invalidate() |
Invalida todo el área del control que se muestra en la superficie de diseño y señala al diseñador de controles que vuelva a dibujar el control. (Heredado de ControlDesigner) |
Invalidate(Rectangle) |
Invalida el área especificada del control que se muestra en la superficie de diseño y señala al diseñador de controles que vuelva a dibujar el control. (Heredado de ControlDesigner) |
InvokeGetInheritanceAttribute(ComponentDesigner) |
Obtiene el objeto InheritanceAttribute de la enumeración ComponentDesigner especificada. (Heredado de ComponentDesigner) |
IsPropertyBound(String) |
Obsoletos.
Recupera un valor que indica si la propiedad especificada en el control asociado está enlazada a datos o no. (Heredado de ControlDesigner) |
Localize(IDesignTimeResourceWriter) |
Utiliza el sistema de escritura de recursos proporcionado para conservar las propiedades adaptables del control asociado en un recurso en el host de diseño. (Heredado de ControlDesigner) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
OnAutoFormatApplied(DesignerAutoFormat) |
Se le llama cuando se ha aplicado un esquema de formato automático predefinido al control asociado. (Heredado de ControlDesigner) |
OnBehaviorAttached() |
Se llama cuando el diseñador de controles está asociado a un objeto Behavior. (Heredado de ControlDesigner) |
OnBehaviorDetaching() |
Obsoletos.
Se le llama cuando se anula la asociación de un comportamiento al elemento. (Heredado de HtmlControlDesigner) |
OnBindingsCollectionChanged(String) |
Obsoletos.
Se le llama cuando cambia la colección de enlace a datos. (Heredado de ControlDesigner) |
OnClick(DesignerRegionMouseEventArgs) |
Lo llama el host de diseño cuando el usuario hace clic en el control asociado en tiempo de diseño. (Heredado de ControlDesigner) |
OnComponentChanged(Object, ComponentChangedEventArgs) |
Se le llama cuando cambia el control asociado. (Heredado de ControlDesigner) |
OnComponentChanging(Object, ComponentChangingEventArgs) |
Representa el método que controlará el evento ComponentChanging del control asociado. (Heredado de ControlDesigner) |
OnControlResize() |
Obsoletos.
Se le llama cuando el control de servidor Web asociado ha cambiado de tamaño en tiempo de diseño en el host de diseño. (Heredado de ControlDesigner) |
OnPaint(PaintEventArgs) |
Se le llama cuando el diseñador de controles dibuja el control asociado en la superficie de diseño, si el valor CustomPaint es |
OnSetComponentDefaults() |
Obsoletos.
Obsoletos.
Establece las propiedades predeterminadas del componente. (Heredado de ComponentDesigner) |
OnSetParent() |
Proporciona una manera de realizar el procesamiento adicional cuando el control asociado se asocia a un control primario. (Heredado de HtmlControlDesigner) |
PostFilterAttributes(IDictionary) |
Permite a un diseñador cambiar o quitar elementos en el conjunto de atributos que expone mediante un TypeDescriptor. (Heredado de ComponentDesigner) |
PostFilterEvents(IDictionary) |
Permite a un diseñador cambiar o quitar elementos del conjunto de eventos que expone mediante un objeto TypeDescriptor. (Heredado de ComponentDesigner) |
PostFilterProperties(IDictionary) |
Permite a un diseñador cambiar o quitar elementos del conjunto de propiedades que expone mediante un objeto TypeDescriptor. (Heredado de ComponentDesigner) |
PreFilterAttributes(IDictionary) |
Permite a un diseñador agregar elementos al conjunto de atributos que expone mediante un objeto TypeDescriptor. (Heredado de ComponentDesigner) |
PreFilterEvents(IDictionary) |
Establece la lista de eventos que se exponen en tiempo de diseño para el objeto TypeDescriptor para el componente. (Heredado de HtmlControlDesigner) |
PreFilterProperties(IDictionary) |
Agrega propiedades o quita propiedades de la cuadrícula Propiedades en un host de diseño en tiempo de diseño, o proporciona nuevas propiedades en tiempo de diseño que pueden corresponderse con las propiedades del control asociado. (Heredado de ControlDesigner) |
RaiseComponentChanged(MemberDescriptor, Object, Object) |
Notifica a IComponentChangeService que este componente se ha cambiado. (Heredado de ComponentDesigner) |
RaiseComponentChanging(MemberDescriptor) |
Notifica a IComponentChangeService que este componente se va a cambiar. (Heredado de ComponentDesigner) |
RaiseResizeEvent() |
Obsoletos.
Genera el evento OnControlResize(). (Heredado de ControlDesigner) |
RegisterClone(Object, Object) |
Registra los datos internos en un control clonado. (Heredado de ControlDesigner) |
SetEditableDesignerRegionContent(EditableDesignerRegion, String) |
Especifica el contenido de una región modificable del control en tiempo de diseño. (Heredado de ControlDesigner) |
SetRegionContent(EditableDesignerRegion, String) |
Especifica el contenido de una región modificable en la vista en tiempo de diseño del control. (Heredado de ControlDesigner) |
SetViewFlags(ViewFlags, Boolean) |
Asigna la enumeración ViewFlags bit a bit especificada al valor de marcador especificado. (Heredado de ControlDesigner) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
UpdateDesignTimeHtml() |
Actualiza el formato HTML en tiempo de diseño para el control de servidor Web asociado llamando al método GetDesignTimeHtml. (Heredado de ControlDesigner) |