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 instanci ovládacího prvku ve verzi Preview v době návrhu. Tuto třídu nelze zdě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ů s atributem SupportsPreviewControlAttribute . Příklad kódu odvozuje ovládací prvek serveru ASP.NET z Label třídy a přidruží ovládací prvek ASP.NET server k vlastní implementaci návrháře ovládacích prvků. Deklarace třídy návrháře ovládacích prvků je označena atributem SupportsPreviewControl nastaveným na true. Návrhář ovládacích prvků přepíše metodu GetDesignTimeHtml a uzavře kód HTML návrhu ovládacího prvku do kurzívy značky.
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
SupportsPreviewControlAttribute Použijte atribut na třídu návrháře ovládacích prvků, která označuje typ ovládacího prvku náhledu, který je podporován návrhářem ovládacích prvků. 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í pro UsePreviewControl členy základní ViewControlControlDesigner třídy.
SupportsPreviewControl Nastavte vlastnost na true indikaci, ž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 nejsou trvalé.
SupportsPreviewControl Nastavte vlastnost na false indikaci, že návrhář vrací 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 na SupportsPreviewControlAttributetrue. Návrhář používá ovládací prvek náhledu s úlohou automatického formátování stylu, která uživateli umožňuje zobrazit náhled různých stylů automatického formátu, 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é na instanci Calendar ovládacího prvku v návrháři.
SupportsPreviewControlAttribute Pokud není zadán 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 odvozené z ControlDesigner třídy mohou přepsat UsePreviewControl a ViewControl členy a ignorovat SupportsPreviewControlAttribute atribut. Informace o určení očekávaného chování a ViewControlUsePreviewControlnaleznete v referenční dokumentaci pro odvozenou třídu návrháře ovládacích prvků.
Obecné informace o používání atributů naleznete v tématu Přehled atributů a Atributy. Další informace o atributech v době návrhu naleznete v tématu Atributy a Design-Time Podpora.
Konstruktory
| Name | Description |
|---|---|
| SupportsPreviewControlAttribute(Boolean) |
Inicializuje novou instanci SupportsPreviewControlAttribute třídy a nastaví počáteční hodnotu SupportsPreviewControl vlastnosti. |
Pole
| Name | Description |
|---|---|
| Default |
Získá instanci SupportsPreviewControlAttribute třídy, která je nastavena na výchozí hodnotu preview. Toto pole je jen pro čtení. |
Vlastnosti
| Name | Description |
|---|---|
| SupportsPreviewControl |
Získá hodnotu určující, zda návrhář ovládacího prvku vyžaduje dočasný náhled ovládací prvek 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
| Name | Description |
|---|---|
| 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() |
Získá Type aktuální instance. (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á určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního 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í
| Name | Description |
|---|---|
| _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 pro 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) |