2017-08-24 3 views
0

J'ai une application WPF qui ouvre une fenêtre contextuelle lorsque la fenêtre principale est chargée. Le problème est lorsque je sélectionne le fichier .xaml dans l'explorateur de solution dans Visual Studio 2013, la popup "pops" même lorsque l'application ne fonctionne pas. Je suppose que c'est un comportement prévu puisque le visualiseur doit exécuter le code pour rendre la mise en page, mais pour l'instant je dois le fermer chaque fois que je charge la page ... Je ne peux pas désactiver temporairement ce popup car il a démarrer la logique de l'application (sélection d'un emplacement, ...).Détecter si l'application WPF est en cours d'exécution ou dans Visual Studio Windows visualizer

Voici le code du déclencheur popup

public GeneralProcess() //usercontrol 
{ 
    InitializeComponent(); 
    Loaded += GeneralProcess_Loaded; 
} 

void GeneralProcess_Loaded(object sender, RoutedEventArgs e) 
{ 
    var popup = new StationSelect(); 
    popup.Owner = Window.GetWindow(this); 
    popup.ShowDialog(); 
} 

est-il un moyen de savoir si l'application est en cours d'exécution ou si je suis dans le Visualiseur, ou est-il un moyen de désactiver l'événement Loaded juste pour Visual Studio ? L'objectif est toujours de voir la page pour la modifier facilement.

EDIT: cette question est un doublon. Cependant this answer a travaillé pour moi.

+0

double possible de [Comment savoir si le code .NET est en cours d'exécution par le concepteur Visual Studio] (https://stackoverflow.com/questions/73515/how-to-tell-if-net-code- is-being-run-by-visual-studio-designer) – Goufalite

Répondre

1
void GeneralProcess_Loaded(object sender, RoutedEventArgs e) 
{ 
    if (DesignerProperties.GetIsInDesignMode(this)) 
     return; 
    var popup = new StationSelect(); 
    popup.Owner = Window.GetWindow(this); 
    popup.ShowDialog(); 
} 
+0

Ne fonctionne pas: 'IsInDesignTool' n'est pas défini. Je suis dans .NET 4.5. Mais bonne approche, je vais chercher plus sur ce DesignerProperties. – Goufalite

+0

Réponse mise à jour;) – Isma

+1

Merci! Pour ceux qui viennent ici, assurez-vous de reconstruire le projet et rouvrez les fichiers .xaml après cela. – Goufalite