SupportsPreviewControlAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, jestli návrhář ovládacích prvků vyžaduje v době návrhu instanci ovládacího prvku ve verzi Preview. Tuto třídu nelze dědit.
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
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje, jak označit návrháře ovládacích prvků atributem SupportsPreviewControlAttribute . Příklad kódu odvozuje ovládací prvek serveru ASP.NET z Label třídy a přidruží ovládací prvek serveru ASP.NET k vlastní implementaci návrháře ovládacích prvků. Deklarace třídy návrháře ovládacích prvků je označena atributem nastaveným SupportsPreviewControl
na true
. Návrhář ovládacích prvků přepíše metodu GetDesignTimeHtml a uzavře kód HTML návrhu pro ovládací prvek do kurzívy.
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
Poznámky
Pomocí atributu SupportsPreviewControlAttribute u třídy návrháře ovládacích prvků označíte typ ovládacího prvku preview, který návrhář ovládacích prvků podporuje. Pomocí tohoto atributu můžete změnit ovládací prvek náhledu pro vykreslování v době návrhu, aniž by to ovlivnilo skutečnou trvalou instanci přidruženého ovládacího prvku.
Obvykle zadáte SupportsPreviewControlAttribute při deklarování vlastní třídy návrháře, která je odvozena z ControlDesigner třídy. Hodnota SupportsPreviewControl vlastnosti atributu SupportsPreviewControlAttribute určuje chování členů UsePreviewControl a ViewControl členů v základní ControlDesigner třídě.
SupportsPreviewControl Nastavte vlastnost taktrue
, aby indikovala, že návrhář používá dočasnou kopii přidruženého ovládacího prvku k vygenerování kódu HTML v době návrhu. Změny dočasného ovládacího prvku se neuchovávají.
SupportsPreviewControl Nastavte vlastnost tak, aby false
indikovat, že návrhář vrátí instanci ovládacího prvku, konkrétně Component vlastnost, z ViewControl metody. Změny řídicího objektu jsou trvalé.
CalendarDesigner Například třída je označena nastavenou SupportsPreviewControlAttribute na true
. Návrhář používá ovládací prvek náhledu s úlohou automatického formátování stylu, která umožňuje uživateli zobrazit náhled různých stylů automatického formátování, které lze použít v kalendáři. Když uživatel vybere různé styly automatického formátování v uživatelském rozhraní, vybrané schéma stylu se použije u ovládacího prvku náhledu. Použití nového stylu u ovládacího prvku náhledu nezmění schéma použité pro instanci Calendar ovládacího prvku v návrháři.
SupportsPreviewControlAttribute Pokud není zadána v deklaraci návrháře ovládacího prvku, ControlDesigner chování je ekvivalentní k určení SupportsPreviewControl jako false
.
Poznámka
Třídy návrháře ControlDesigner odvozené z třídy mohou přepsat UsePreviewControl a ViewControl členy a ignorovat SupportsPreviewControlAttribute atribut. Pokud chcete určit očekávané chování ViewControl a UsePreviewControlprojděte si referenční dokumentaci pro odvozenou třídu návrháře ovládacích prvků.
Obecné informace o používání atributů najdete v tématu Přehled atributů a atributy. Další informace o atributech v době návrhu najdete v tématu Atributy a podpora Design-Time.
Konstruktory
SupportsPreviewControlAttribute(Boolean) |
Inicializuje novou instanci SupportsPreviewControlAttribute třídy a nastaví počáteční hodnotu SupportsPreviewControl vlastnosti. |
Pole
Default |
Získá instanci SupportsPreviewControlAttribute třídy, která je nastavena na výchozí hodnotu náhledu. Toto pole je jen ke čtení. |
Vlastnosti
SupportsPreviewControl |
Získá hodnotu označující, zda návrhář ovládacích prvků vyžaduje dočasný ovládací prvek náhledu v době návrhu. |
TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
Metody
Equals(Object) |
Určuje, zda zadaný objekt představuje stejné nastavení atributu preview jako aktuální instance SupportsPreviewControlAttribute třídy. |
GetHashCode() |
Vrátí kód hash pro tuto instanci SupportsPreviewControlAttribute třídy. |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
IsDefaultAttribute() |
Určuje, zda je aktuální instance SupportsPreviewControlAttribute třídy nastavena na výchozí hodnotu atributu Preview. |
Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu rozhraní. (Zděděno od Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |