Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase SupportsPreviewControlAttribute

 

Publicado: octubre de 2016

Indica si un diseñador de controles requiere una instancia de la vista previa del control en tiempo de diseño. Esta clase no puede heredarse.

Espacio de nombres:   System.Web.UI.Design
Ensamblado:  System.Design (en System.Design.dll)

System.Object
  System.Attribute
    System.Web.UI.Design.SupportsPreviewControlAttribute

[AttributeUsageAttribute(AttributeTargets.Class)]
public sealed class SupportsPreviewControlAttribute : Attribute

NombreDescripción
System_CAPS_pubmethodSupportsPreviewControlAttribute(Boolean)

Inicializa una nueva instancia de la SupportsPreviewControlAttribute clase y establece el valor inicial de la SupportsPreviewControl propiedad.

NombreDescripción
System_CAPS_pubpropertySupportsPreviewControl

Obtiene un valor que indica si el Diseñador de controles requiere un control de vista previa temporal en tiempo de diseño.

System_CAPS_pubpropertyTypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.(Heredado de Attribute).

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado representa el mismo valor de atributo de vista previa que la instancia actual de la SupportsPreviewControlAttribute clase.(Invalida Attribute.Equals(Object)).

System_CAPS_pubmethodGetHashCode()

Devuelve el código hash para esta instancia de la SupportsPreviewControlAttribute clase.(Invalida Attribute.GetHashCode()).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIsDefaultAttribute()

Indica si la instancia actual de la SupportsPreviewControlAttribute clase se establece en el valor predeterminado del atributo de vista previa.(Invalida Attribute.IsDefaultAttribute()).

System_CAPS_pubmethodMatch(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual al objeto especificado. (Heredado de Attribute).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

NombreDescripción
System_CAPS_pubfieldSystem_CAPS_staticDefault

Obtiene una instancia de la SupportsPreviewControlAttribute clase que se establece en el valor predeterminado de vista previa. Este campo es de solo lectura.

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información del tipo de un objeto, que puede utilizarse para obtener la información del tipo de una interfaz. (Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de tipo de información que suministra un objeto (0 ó 1)

(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.(Heredado de Attribute).

Aplicar el SupportsPreviewControlAttribute atributo a una clase de diseñador de controles para indicar el tipo de control de vista previa que es compatible con el Diseñador de controles. Utilice este atributo para cambiar un control de vista previa para la representación en tiempo de diseño sin afectar a la instancia almacenada real del control asociado.

Normalmente, se especifica la SupportsPreviewControlAttribute al declarar una clase de diseñador personalizada que se deriva la ControlDesigner clase. El valor de la SupportsPreviewControl propiedad para el SupportsPreviewControlAttribute atributo determina el comportamiento de la UsePreviewControl y ViewControl los miembros de la base de ControlDesigner clase.

Establecer el SupportsPreviewControl propiedad true para indicar que el diseñador utiliza una copia temporal del control asociado para generar el código HTML en tiempo de diseño. Cambios del control temporal no se conservan.

Establecer el SupportsPreviewControl propiedad false para indicar que el diseñador devuelve la instancia del control, específicamente la Component propiedad, desde el ViewControl método. Se conservan los cambios en el objeto de control.

Por ejemplo, el CalendarDesigner clase se marca con el SupportsPreviewControlAttribute establecido en true. El diseñador utiliza el control de vista previa con el estilo automático se pueden aplicar tareas de formato, que permite al usuario obtener una vista previa de diversos stylesthat Autoformato al calendario. Cuando el usuario selecciona diferentes estilos de Autoformato en la interfaz de usuario, el esquema de estilo seleccionado se aplica al control de vista previa. Aplicar un estilo nuevo para el control de vista previa no cambia el esquema que se aplica a la instancia de la Calendar control en el diseñador.

Si el SupportsPreviewControlAttribute no se especifica en la declaración del Diseñador de control, la ControlDesigner comportamiento es equivalente a especificar el SupportsPreviewControl como false.

System_CAPS_noteNota

Las clases de diseñador que se derivan la ControlDesigner clase puede invalidar el UsePreviewControl y ViewControl miembros y omitir el SupportsPreviewControlAttribute atributo. Para determinar el comportamiento esperado para ViewControl y UsePreviewControl, consulte la documentación de referencia de la clase de diseñador del control derivado.

Para obtener información general sobre el uso de atributos, consulte Attributes Overview y Extender metadatos mediante atributos. Para obtener más información acerca de los atributos de tiempo de diseño, vea Attributes and Design-Time Support.

En el ejemplo de código siguiente se muestra cómo marcar un diseñador de controles con el SupportsPreviewControlAttribute atributo. El ejemplo de código deriva un control de servidor ASP.NET desde la Label clase y asocia el control de servidor ASP.NET con una implementación del Diseñador de controles personalizados. La declaración de clase de diseñador de controles se marca con el SupportsPreviewControl atributo establecido en true. El Diseñador de control reemplaza el GetDesignTimeHtml (método) y agrega el HTML en tiempo de diseño para el control en etiquetas de cursiva.

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.Design.WebControls;
using System.Web.UI.WebControls;
using System.Reflection;

namespace ControlDesignerSamples.CS
{
    // Define a simple designer associated with a 
    // simple text web control.

    // Mark the designer with the SupportsPreviewControlAttribute set
    // to true.  This means the base.UsePreviewControl returns true,
    // and base.ViewControl returns a temporary preview copy of the control.
    [SupportsPreviewControl(true)]
    public class SimpleTextControlDesigner : TextControlDesigner
    {		
        // Override the base GetDesignTimeHtml method to display 
        // the design time text in italics.
        public override string GetDesignTimeHtml()
        {
            string html = String.Empty;

            try
            {
                // Initialize the return string to the default
                // design time html of the base TextControlDesigner.
                html = base.GetDesignTimeHtml();

                // Get the ViewControl for the associated control.
                Label ctrl = (Label)ViewControl;

                ctrl.Style.Add(HtmlTextWriterStyle.FontStyle, "Italic");
                html = base.GetDesignTimeHtml();

            }
            catch (System.Exception e)
            {
               if (String.IsNullOrEmpty(html))
               {
                   html = GetErrorDesignTimeHtml(e);
               }
            }

            return html;
        }

    }

    // Derive a simple Web control from Label to render a text string.
    // Associate this control with the SimpleTextControlDesigner.
    [DesignerAttribute("ControlDesignerSamples.CS.SimpleTextControlDesigner"),
    ToolboxData("<{0}:MyLabelControl Runat=\"Server\"><{0}:MyLabelControl>")]
    public class MyLabelControl : Label
    {
        // Use the Label control implementation, but associate
        // the derived class with the custom control designer.
    }
}

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: