Dans les applications WPF, il peut souvent être nécessaire de faire la différence entre les environnements de conception et d'exécution. Ceci est particulièrement utile lors de la création de modèles de vue et d'une logique d'interface utilisateur qui doivent se comporter différemment dans chaque scénario.
L'une de ces approches consiste à surveiller le mode d'exécution actuel de l'application. Si le code s'exécute dans des outils de conception tels que Blend ou Visual Studio, il doit utiliser des données fictives ou des visualisations d'espace réservé. À l'inverse, en mode production, il doit fournir des données en temps réel et des interactions fonctionnelles.
WPF offre un moyen pratique d'y parvenir grâce à la méthode DesignerProperties.GetIsInDesignMode. Cette méthode prend un DependencyObject comme paramètre et renvoie un booléen indiquant si cet objet est actuellement en mode conception.
// 'this' is your UI element bool isInDesignMode = DesignerProperties.GetIsInDesignMode(this);
Si vous ciblez Silverlight ou Windows Phone 7, vous devez plutôt utiliser DesignerProperties.IsInDesignTool comme paramètre. fournit des résultats plus précis dans certains scénarios.
bool isInDesignTool = DesignerProperties.IsInDesignTool;
Enfin, pour les applications WinRT ou Metro, vous pouvez utiliser Windows.ApplicationModel.DesignMode.DesignModeEnabled :
bool isDesignModeEnabled = Windows.ApplicationModel.DesignMode.DesignModeEnabled;
En exploitant ces propriétés, les développeurs peuvent facilement distinguer les environnements de conception et d'exécution et adapter leur code en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!