Détermination du mode d'exécution WPF : DesignTime vs Runtime
Développez-vous une application WPF et avez-vous besoin d'un moyen de distinguer le temps de conception (par ex. , dans Visual Studio ou Blend) et l'exécution du runtime ? Si c'est le cas, vous n'êtes pas seul. Heureusement, WPF fournit une solution fiable.
Identification du mode de conception
WPF propose une propriété appelée DesignerProperties.GetIsInDesignMode(), qui prend un DependencyObject comme paramètre. En utilisant cette propriété, vous pouvez vérifier si votre code est exécuté en mode conception.
// 'this' represents your UI element DesignerProperties.GetIsInDesignMode(this);
Lorsque vous ciblez Silverlight ou WP7, une propriété alternative, DesignerProperties.IsInDesignTool, est plus appropriée car GetIsInDesignMode peut parfois donner des résultats faux. positifs dans Visual Studio.
DesignerProperties.IsInDesignTool
Pour les applications WinRT, Metro et Windows Store, l'équivalent est Windows.ApplicationModel.DesignMode.DesignModeEnabled :
Windows.ApplicationModel.DesignMode.DesignModeEnabled
Exemple de scénario
Vous avez mentionné la nécessité de faire la différence entre le moment de la conception et le moment de l'exécution dans votre ViewModel pour afficher soit simulez les données client ou les données en direct en fonction du mode actuel.
En tirant parti de GetIsInDesignMode() dans votre propriété GetAll, vous pouvez basculer de manière transparente entre les deux sources de données en fonction de l'environnement d'exécution.
public ObservableCollection<Customer> GetAll { get { try { if (DesignerProperties.GetIsInDesignMode(this)) { return CustomerDesign.GetAll; } else { return Customer.GetAll; } } catch (Exception ex) { throw new Exception(ex.Message); } } }
Cette approche offre un moyen pratique et flexible de gérer les données en fonction du contexte d'exécution de l'application.
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!