SupportsPreviewControlAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt an, ob ein Steuerelement-Designer zur Entwurfszeit eine Vorschauinstanz des Steuerelements benötigt. Diese Klasse kann nicht vererbt werden.
public ref class SupportsPreviewControlAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class SupportsPreviewControlAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class)>]
type SupportsPreviewControlAttribute = class
inherit Attribute
Public NotInheritable Class SupportsPreviewControlAttribute
Inherits Attribute
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein Steuerelement-Designer mit dem SupportsPreviewControlAttribute Attribut markiert wird. Im Codebeispiel wird ein ASP.NET Serversteuerelement von der Label Klasse abgeleitet und das ASP.NET Serversteuerelement einer implementierung des benutzerdefinierten Steuerelements des Steuerelements zugeordnet. Die Deklaration der Steuerelement-Designer-Klasse ist mit dem Attribut gekennzeichnet, auf das SupportsPreviewControl
festgelegt true
ist. Der Steuerelement-Designer überschreibt die GetDesignTimeHtml Methode und schließt den Entwurfszeit-HTML für das Steuerelement in kursiv formatierte Tags ein.
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 das SupportsPreviewControlAttribute Attribut auf eine Steuerelement-Designerklasse an, um den Typ des Vorschausteuerelements anzugeben, das vom Steuerelement-Designer unterstützt wird. Verwenden Sie dieses Attribut, um ein Vorschausteuerelement für das Entwurfszeitrendering zu ändern, ohne dass sich die tatsächliche beibehaltene Instanz des zugehörigen Steuerelements auswirkt.
Normalerweise geben Sie die SupportsPreviewControlAttribute Beim Deklarieren einer benutzerdefinierten Designerklasse an, die von der ControlDesigner Klasse abgeleitet wird. Der Wert der SupportsPreviewControl Eigenschaft für das SupportsPreviewControlAttribute Attribut bestimmt das Verhalten für die UsePreviewControl elemente ViewControl in der Basisklasse ControlDesigner .
Legen Sie die SupportsPreviewControl Eigenschaft so true
fest, dass der Designer eine temporäre Kopie des zugeordneten Steuerelements verwendet, um den Entwurfszeit-HTML-Code zu generieren. Änderungen am temporären Steuerelement werden nicht beibehalten.
Legen Sie die SupportsPreviewControl Eigenschaft fest, um false
anzugeben, dass der Designer die Steuerelementinstanz, insbesondere die Component Eigenschaft, aus der ViewControl Methode zurückgibt. Änderungen am Steuerelementobjekt werden beibehalten.
Beispielsweise wird die CalendarDesigner Klasse mit dem SupportsPreviewControlAttribute Satz auf true
. Der Designer verwendet das Vorschausteuerelement mit der Aufgabe für die automatische Formatformatierung, mit der der Benutzer eine Vorschau verschiedener Autoformatformate anzeigen kann, die auf den Kalender angewendet werden können. Wenn der Benutzer unterschiedliche Formatvorlagen in der Benutzeroberfläche auswählt, wird das ausgewählte Formatschema auf das Vorschausteuerelement angewendet. Das Anwenden einer neuen Formatvorlage auf das Vorschausteuerelement ändert nicht das Schema, das auf die Instanz des Calendar Steuerelements im Designer angewendet wird.
Wenn dies SupportsPreviewControlAttribute in der Steuerelement-Designer-Deklaration nicht angegeben ist, entspricht das ControlDesigner Verhalten dem Angeben des SupportsPreviewControl Werts als false
.
Hinweis
Designerklassen, die aus der ControlDesigner Klasse abgeleitet wurden, können die ViewControl UsePreviewControl Elemente außer Kraft setzen und das SupportsPreviewControlAttribute Attribut ignorieren. Informationen zur Ermittlung des erwarteten Verhaltens und ViewControl UsePreviewControlder Referenzdokumentation für die abgeleitete Steuerelement-Designerklasse finden Sie in der Referenzdokumentation.
Allgemeine Informationen zur Verwendung von Attributen finden Sie unter "Attributes Overview " und "Attributes". Weitere Informationen zu Entwurfszeitattributen finden Sie unter Attribute und Design-Time Support.
Konstruktoren
SupportsPreviewControlAttribute(Boolean) |
Initialisiert eine neue Instanz der SupportsPreviewControlAttribute-Klasse und legt den Anfangswert der SupportsPreviewControl-Eigenschaft fest. |
Felder
Default |
Ruft eine Instanz der SupportsPreviewControlAttribute-Klasse ab, die auf den Standardvorschauwert festgelegt ist. Dieses Feld ist schreibgeschützt. |
Eigenschaften
SupportsPreviewControl |
Ruft einen Wert ab, der angibt, ob zur Entwurfszeit für den Steuerelement-Designer ein temporäres Vorschausteuerelement erforderlich ist. |
TypeId |
Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab. (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. |
GetHashCode() |
Gibt den Hashcode für diese Instanz der SupportsPreviewControlAttribute-Klasse zurück. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IsDefaultAttribute() |
Gibt an, ob die aktuelle Instanz der SupportsPreviewControlAttribute-Klasse auf den Wert des Standardvorschauattributs festgelegt ist. |
Match(Object) |
Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Geerbt von Attribute) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (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. (Geerbt von Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 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. (Geerbt von Attribute) |