Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

ControlDesigner.ViewControl propriété

 

Date de publication : novembre 2016

Obtient ou définit un contrôle serveur Web qui peut être utilisé pour afficher un aperçu du balisage HTML au moment du design.

Espace de noms:   System.Web.UI.Design
Assembly:  System.Design (dans System.Design.dll)

public Control ViewControl { get; set; }

Valeur de propriété

Type: System.Web.UI.Control

Un Control objet utilisé par la classe de base pour générer le balisage HTML au moment du design.

Le ViewControl propriété utilise le UsePreviewControl propriété pour déterminer sa valeur de retour.

Si le UsePreviewControl propriété est true, le ViewControl propriété retourne une copie temporaire du contrôle. Modifications apportées au contrôle temporaire ne sont pas conservées.

Si le UsePreviewControl propriété est false, le ViewControl propriété retourne une instance de la Component propriété du contrôle. Modifications apportées à l’instance du contrôle sont rendues persistantes.

Le SupportsPreviewControl dans les SupportsPreviewControlAttribute objet est utilisé pour définir la valeur de la UsePreviewControl propriété. Par conséquent, le SupportsPreviewControl détermine le type de contrôle retourné par le ViewControl propriété dans la base de ControlDesigner (classe). Si le SupportsPreviewControlAttribute n’est pas spécifié dans la déclaration de Concepteur de contrôles, le ControlDesigner comportement de l’objet qui équivaut à spécifier la SupportsPreviewControl la propriété false.

L’exemple de code suivant montre comment marquer un concepteur de contrôles avec le SupportsPreviewControlAttribute attribut. L’exemple de code dérive un contrôle de serveur Web à partir de la Label classe et associe le contrôle à une implémentation de Concepteur de contrôles personnalisés. La déclaration de classe de Concepteur de contrôles est marquée avec la SupportsPreviewControl attribut la valeur true. Le Concepteur de contrôles substitue la GetDesignTimeHtml (méthode), puis affiche le Text propriété du contrôle en italique au moment du design.

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.
    }
}

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: