ControlDesigner.ViewControl Vlastnost
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í.
Získá nebo nastaví ovládací prvek webového serveru, který lze použít pro náhled kódu HTML v době návrhu.
public:
property System::Web::UI::Control ^ ViewControl { System::Web::UI::Control ^ get(); void set(System::Web::UI::Control ^ value); };
public System.Web.UI.Control ViewControl { get; set; }
member this.ViewControl : System.Web.UI.Control with get, set
Public Property ViewControl As Control
Hodnota vlastnosti
Objekt Control používaný základní třídou k vygenerování kódu HTML v době návrhu.
Příklady
Následující příklad kódu ukazuje, jak označit návrháře ovládacích prvků pomocí atributu SupportsPreviewControlAttribute . Příklad kódu odvozuje ovládací prvek webového Label serveru z třídy a přidruží ovládací prvek k vlastní implementaci návrháře ovládacího prvku. Deklarace třídy návrháře ovládacího prvku je označena atributem nastaveným SupportsPreviewControl
na true
hodnotu . Návrhář ovládacích prvků přepíše metodu GetDesignTimeHtml a poté zobrazí Text vlastnost ovládacího prvku kurzívou v době návrhu.
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
Vlastnost ViewControl používá UsePreviewControl vlastnost k určení její návratové hodnoty.
UsePreviewControl Pokud je true
vlastnost , ViewControl vrátí vlastnost dočasnou kopii ovládacího prvku. Změny dočasného ovládacího prvku nejsou zachovány.
UsePreviewControl Pokud je false
vlastnost , ViewControl vrátí vlastnost instanci Component vlastnosti pro ovládací prvek. Změny instance ovládacího prvku jsou zachovány.
Nastavení SupportsPreviewControl v objektu SupportsPreviewControlAttribute slouží k nastavení hodnoty UsePreviewControl vlastnosti .
SupportsPreviewControl Proto nastavení určuje typ ovládacího prvku, který je vrácen ViewControl vlastností v základní ControlDesigner třídě.
SupportsPreviewControlAttribute Pokud není zadán v deklaraci návrháře ovládacího prvku, chování objektu ControlDesigner je ekvivalentní k zadání SupportsPreviewControl vlastnosti jako false
.