Partager via


Comment : déterminer si un contrôle personnalisé est un contrôle DTC ou un contrôle runtime

Lorsque vous utilisez l'extensibilité pour personnaliser le Concepteur WPF pour Visual Studio, vous pouvez personnaliser le comportement d'un contrôle au moment du design ou de l'exécution. Vous pouvez personnaliser l'expérience utilisateur au moment du design pour vos utilisateurs finaux. Par exemple, si vous créez un bouton personnalisé, vous pouvez choisir d'afficher le texte du bouton au moment du design, mais pas au moment de l'exécution. Vous pouvez également personnaliser un contrôle qui expose un comportement complexe afin que celui-ci ne se produise qu'au moment de l'exécution. Par exemple, un contrôle qui accède automatiquement à une base de données doit y accéder au moment de l'exécution, pas au moment du design.

Vous pouvez déterminer si un contrôle s'exécute au moment du design ou au moment de l'exécution en appelant la méthode GetIsInDesignMode.

Utilisation de la propriété de mode Design

Dans cette procédure, vous affichez du texte sur un contrôle bouton personnalisé au moment du design, mais pas au moment de l'exécution.

Pour utiliser la propriété de mode Design

  1. Dans le fichier code-behind de votre contrôle personnalisé, localisez le constructeur du contrôle personnalisé.

  2. Ajoutez du code qui appelle la méthode GetIsInDesignMode et personnalisez le comportement de votre contrôle en conséquence. Vous passez une référence à votre contrôle personnalisé comme argument à GetIsInDesignMode, qui détermine si le contrôle est en mode Design. Par exemple, ajoutez un code comme suit :

    Namespace CustomControlLibrary
    
        Public Class ButtonWithDesignTime
            Inherits System.Windows.Controls.Button
    
            Public Sub New()
    
                If System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me) Then
                    Me.Content = "This button is in design mode."
                End If
            End Sub
        End Class
    End Namespace
    
    namespace CustomControlLibrary
    {
        public class ButtonWithDesignTime : System.Windows.Controls.Button
        {
            public ButtonWithDesignTime()
            {
                if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
                {
                    this.Content = "This button is in design mode.";
                }
            }
        }
    }
    

Voir aussi

Autres ressources

Comportement au moment du design et au moment de l'exécution

Fonctionnement de l'extensibilité du Concepteur WPF

Extensibilité du Concepteur WPF