2010-10-20 3 views
5

J'ai développé un userControl qui contient des vérifications d'informations sur la méthode 'IsVisible' (méthode override).Comment vérifier si je suis en phase d'exécution ou de conception?

Lorsque j'utilise cette commande usercontrol sur une fenêtre - je vois une erreur car la méthode 'IsVisible' cherche une variable qui est définie au moment de l'exécution.

Comment puis-je vérifier si je suis en phase de conception et que le système ne fonctionne pas?

Merci pour l'aide.

Répondre

9

DesignerProperties.GetIsInDesignMode(this); Cela retournera true si vous êtes en phase de conception.

+2

Il y a une erreur dans cette réponse: vous pouvez appeler DesignerProperties.GetIsInDesignMode (d) qui peut être trouvé dans System.ComponentModel. Notez que d doit être un UIElement. Ce DesignerProperty est une propriété jointe. – GameAlchemist

0
public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) 
      Console.WriteLine("The main window is in design mode."); 
    } 
} 

L'autre réponse est techniquement correcte mais je fournis celle-ci pour clarifier l'espace de noms et l'usage.

+0

Ceci n'est pas invocable, il doit s'agir de 'GetIsInDesignMode'. –

+0

@ChristianIvicevic Oups, merci de l'avoir signalé! Fixé. – Jake

Questions connexes