SupportsPreviewControlAttribute Klasse

Definition

Gibt an, ob ein Steuerelement-Designer zur Entwurfszeit eine Vorschauinstanz des Steuerelements benötigt.Indicates whether a control designer requires a preview instance of the control at design time. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class SupportsPreviewControlAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class SupportsPreviewControlAttribute : Attribute
type SupportsPreviewControlAttribute = class
    inherit Attribute
Public NotInheritable Class SupportsPreviewControlAttribute
Inherits Attribute
Vererbung
SupportsPreviewControlAttribute
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein Steuerelement-Designer SupportsPreviewControlAttribute mit dem-Attribut markiert wird.The following code example demonstrates how to mark a control designer with the SupportsPreviewControlAttribute attribute. Im Codebeispiel wird ein ASP.NET-Server Steuerelement Label aus der-Klasse abgeleitet und dem ASP.NET-Server Steuerelement eine benutzerdefinierte Implementierung des Steuerelement-Designers zugeordnet.The code example derives an ASP.NET server control from the Label class and associates the ASP.NET server control with a custom control designer implementation. Die Klassen Deklaration des Steuerelement-Designers SupportsPreviewControl ist mit dem trueauf festgelegten-Attribut gekennzeichnetThe control designer class declaration is marked with the SupportsPreviewControl attribute set to true. Der Steuerelement-Designer über GetDesignTimeHtml schreibt die-Methode und schließt den Entwurfszeit-HTML-Code für das-Steuerelement in kursiv Esten Tags ein.The control designer overrides the GetDesignTimeHtml method and encloses the design-time HTML for the control in italic tags.

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.
    }
}
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.Design.WebControls
Imports System.Web.UI.WebControls
Imports System.Reflection

Namespace ControlDesignerSamples.VB

    ' 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
        Inherits Label

        ' Use the Label control implementation, but associate
        ' the derived class with the custom control designer.
    End Class


    ' 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
        Inherits TextControlDesigner

        ' Override the base GetDesignTimeHtml method to display 
        ' the design time text in italics.
        Public Overrides Function GetDesignTimeHtml() As String
            Dim html As String = String.Empty

            Try
                ' Get the ViewControl for the associated control.
                Dim ctrl As Label = CType(ViewControl, Label)

                ' Set the default text, if necessary
                If ctrl.Text.Length = 0 Then
                    ctrl.Text = "Sample Text"
                End If

                ' Set the style to italic
                ctrl.Style.Add(HtmlTextWriterStyle.FontStyle, "italic")

                ' Let the base class create the HTML markup
                html = MyBase.GetDesignTimeHtml()
            Catch ex As Exception
                If String.IsNullOrEmpty(html) Then
                    ' Display the exception message
                    html = GetErrorDesignTimeHtml(ex)
                End If
            End Try

            Return html
        End Function

    End Class
End Namespace

Hinweise

Wenden Sie SupportsPreviewControlAttribute das-Attribut auf eine Steuerelement-Designer-Klasse an, um den vom Steuerelement-Designer unterstützten Typ des Vorschau Steuer Elements anzugeben.Apply the SupportsPreviewControlAttribute attribute to a control designer class to indicate the type of preview control that is supported by the control designer. Verwenden Sie dieses Attribut, um ein Vorschau Steuerelement für das Rendering zur Entwurfszeit zu ändern, ohne die tatsächliche persistente Instanz des zugeordneten Steuer Elements zu beeinflussen.Use this attribute to change a preview control for design-time rendering without affecting the actual persisted instance of the associated control.

In der Regel geben Sie SupportsPreviewControlAttribute den beim Deklarieren einer benutzerdefinierten Designer Klasse an, ControlDesigner die von der-Klasse abgeleitet wird.Typically, you specify the SupportsPreviewControlAttribute when declaring a custom designer class that is derived from the ControlDesigner class. Der Wert SupportsPreviewControl der-Eigenschaft für das SupportsPreviewControlAttribute -Attribut bestimmt das Verhalten für UsePreviewControl das ViewControl -Element und das ControlDesigner -Element in der Basisklasse.The value of the SupportsPreviewControl property for the SupportsPreviewControlAttribute attribute determines the behavior for the UsePreviewControl and ViewControl members in the base ControlDesigner class.

Legen Sie SupportsPreviewControl die- true Eigenschaft auf fest, um anzugeben, dass der Designer zum Generieren des Entwurfszeit-HTML eine temporäre Kopie des zugeordneten Steuer Elements verwendet.Set the SupportsPreviewControl property to true to indicate that the designer uses a temporary copy of the associated control to generate the design-time HTML. Änderungen am temporären Steuerelement werden nicht beibehalten.Changes to the temporary control are not persisted.

Legen Sie SupportsPreviewControl die- false Eigenschaft auf fest, um anzugeben, dass der Designer die Steuer Component Element Instanz, insbesondere ViewControl die-Eigenschaft, von der Methode zurückgibt.Set the SupportsPreviewControl property to false to indicate that the designer returns the control instance, specifically the Component property, from the ViewControl method. Änderungen am Steuerelement Objekt werden persistent gespeichert.Changes to the control object are persisted.

Beispielsweise ist die CalendarDesigner -Klasse mit dem SupportsPreviewControlAttribute auf truefestgelegten gekennzeichnet.For example, the CalendarDesigner class is marked with the SupportsPreviewControlAttribute set to true. Der Designer verwendet das Vorschau Steuerelement mit dem automatischen Stil Formatierungs Task, mit dem Benutzer eine Vorschau verschiedener Auto Formatvorlagen anzeigen können, die auf den Kalender angewendet werden können.The designer uses the preview control with the automatic style formatting task, which allows the user to preview various autoformat stylesthat can be applied to the calendar. Wenn der Benutzer unterschiedliche Auto Format Stile in der Benutzeroberfläche auswählt, wird das ausgewählte Stil Schema auf das Vorschau Steuerelement angewendet.As the user selects different autoformat styles in the user interface, the selected style scheme is applied to the preview control. Durch das Anwenden eines neuen Stils auf das Vorschau Steuerelement wird das Schema, das auf die Instanz des Calendar Steuer Elements im Designer angewendet wird, nicht geändert.Applying a new style to the preview control does not change the scheme that is applied to the instance of the Calendar control in the designer.

Wenn in der Steuerelement-Designer-Deklaration nicht angegeben ControlDesigner SupportsPreviewControl falseist, entspricht das Verhalten dem Angeben von als. SupportsPreviewControlAttributeIf the SupportsPreviewControlAttribute is not specified in the control designer declaration, the ControlDesigner behavior is equivalent to specifying the SupportsPreviewControl as false.

Hinweis

Von der ControlDesigner -Klasse abgeleitete Designer Klassen können UsePreviewControl den-Member und den- SupportsPreviewControlAttribute Member überschreiben und das- ViewControl Attribut ignorieren.Designer classes derived from the ControlDesigner class can override the UsePreviewControl and ViewControl members, and ignore the SupportsPreviewControlAttribute attribute. Informationen zum Bestimmen des erwarteten Verhaltens ViewControl für UsePreviewControlund finden Sie in der Referenz Dokumentation für die Klasse des abgeleiteten Steuerelement-Designers.To determine the expected behavior for ViewControl and UsePreviewControl, see the reference documentation for the derived control designer class.

Allgemeine Informationen zum Verwenden von Attributen finden Sie unter Übersicht über Attribute und Attribute.For general information about using attributes, see Attributes Overview and Attributes. Weitere Informationen zu Entwurfszeit Attributen finden Sie unter Attribute und Entwurfszeit Unterstützung.For more information about design-time attributes, see Attributes and Design-Time Support.

Konstruktoren

SupportsPreviewControlAttribute(Boolean)

Initialisiert eine neue Instanz der SupportsPreviewControlAttribute-Klasse und legt den Anfangswert der SupportsPreviewControl-Eigenschaft fest.Initializes a new instance of the SupportsPreviewControlAttribute class and sets the initial value of the SupportsPreviewControl property.

Felder

Default

Ruft eine Instanz der SupportsPreviewControlAttribute-Klasse ab, die auf den Standardvorschauwert festgelegt ist.Gets an instance of the SupportsPreviewControlAttribute class that is set to the default preview value. Dieses Feld ist schreibgeschützt.This field is read-only.

Eigenschaften

SupportsPreviewControl

Ruft einen Wert ab, der angibt, ob zur Entwurfszeit für den Steuerelement-Designer ein temporäres Vorschausteuerelement erforderlich ist.Gets a value indicating whether the control designer requires a temporary preview control at design time.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Geerbt von Attribute)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt dieselbe Einstellung für das Vorschauattribut darstellt wie die aktuelle Instanz der SupportsPreviewControlAttribute-Klasse.Determines whether the specified object represents the same preview attribute setting as the current instance of the SupportsPreviewControlAttribute class.

GetHashCode()

Gibt den Hashcode für diese Instanz der SupportsPreviewControlAttribute-Klasse zurück.Returns the hash code for this instance of the SupportsPreviewControlAttribute class.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IsDefaultAttribute()

Gibt an, ob die aktuelle Instanz der SupportsPreviewControlAttribute-Klasse auf den Wert des Standardvorschauattributs festgelegt ist.Indicates whether the current instance of the SupportsPreviewControlAttribute class is set to the default preview attribute value.

Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für:

Siehe auch