IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Encore un bug dans WPF ? :aie:


Sujet :

Windows Presentation Foundation

  1. #1
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut Encore un bug dans WPF ? :aie:


    Il semblerai que j'ai encore un bug ...
    Principe :
    Je crée un nouveau projet WPF avec VS 2008 (.NET 3.0).
    Donc, j'ai une nouvelle fenêtre, Window1. Je crée ensuite une fenêtre nommée Window2 et dans le code de Window1 je fait ceci :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    protected Window2 SecondWindow { get; set; }
     
            public Window1()
            {
                InitializeComponent();
     
                SecondWindow = new Window2();
            }
    Après, je lance mon programme, Window1 apparaît, je ferme Window1 et là : Oh misère, toute mes fenêtres sont bien fermées mais le processus ne s'arrête pas (ça le fait dans le debuggeur et en dehors également, vérifié avec TaskMgr).

    Donc, c'est un bug ? qu'est-ce que c'est ?

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut
    Ta Window2 n'a pas été fermé en fait.
    Il faudrait que tu fasses un :

    puis la fermer à la main, ou bien

    quelquepart

    Sinon l'instance de Window2 existera toujours.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    sinon tu peux jouer sur le ShutdownMode de l'Application

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Citation Envoyé par Marcolinho Voir le message
    Ta Window2 n'a pas été fermé en fait.
    Oui justement j'avais trouvé que si je faisait Window2.Close à la fermeture de Window1 le programme s'arrêtait. Mais avec les WinForms ça ne le fait pas, c'est pas normal que mon programme reste en exécution à cause d'une fenêtre qui n'a même pas été affichée

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Comme le dit tomlev, c'est à cause du ShutdownMode (dans App.xaml): il peut prendre plusieurs valeurs te permettant d'indiquer quand ton application doit se fermer

  6. #6
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Ah ok, j'avais pas vu
    En effet, ça marche bien avec ShutdownMode="OnMainWindowClose".


  7. #7
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Par défaut
    Je profite du topic car j'ai le même soucis mais non-résolu malgré les conseils ci-dessus. voici mon PB

    le contexte :
    j'ai 2 fenêtres :
    • la première est une fenetre de connexion ( fermée après l'appui sur un bouton "connect" avec un vieux this.Close();),
    • la deuxième est mon écran principal ( fermèe soit par la petite croix soit par un bouton qui appelle Application.Current.MainWindow.Close(); soir par alt+F4 )

    j'ai ajouté un shutdown sur le close de ma 2e fenetre
    private void Window_Closed(object sender, EventArgs e)
    {
    Application.Current.Shutdown();
    }
    j'ai mis le shutdownMode dans les constructeurs de ma 2e fenetre puis dans App
    Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose;
    A noter que je fais un Application.Current.MainWindow = this; dans le constructeur de la 1ere fenetre.

    Le problème :
    Si je ferme ma premiere fenetre avec la petite croix l'application s'arrete bien
    Si je ferme l'application par l'un des moyen cités ci dessus l'application ne s'arrete pas

    Si quelqu'un a une idée

  8. #8
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par jnussas Voir le message
    Si je ferme l'application par l'un des moyen cités ci dessus l'application ne s'arrete pas
    Normal: tu dis que le mode de fermeture de l'application, c'est lorsqu'on ferme la fenêtre principale (ShutdownMode.OnMainWindowClose) et tu dis que la fenêtre principale, c'est la première fenêtre....

  9. #9
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Normal: tu dis que le mode de fermeture de l'application, c'est lorsqu'on ferme la fenêtre principale (ShutdownMode.OnMainWindowClose) et tu dis que la fenêtre principale, c'est la première fenêtre....
    honte à moi, le
    Application.Current.MainWindow = this;
    est dans le constructeur de la 2e fenetre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Un étrange Bug dans mon designer WPF sous VS2012
    Par PascalCmoa dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 17/01/2013, 14h43
  2. Réponses: 2
    Dernier message: 29/06/2011, 14h13
  3. [FLASH MX2004] Encore un bug dans flash ?
    Par Lorenzo77 dans le forum Flash
    Réponses: 3
    Dernier message: 04/12/2006, 08h04
  4. [PROPERTIES] Bug dans java.util.Properties ?
    Par mathieu dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 28/04/2004, 15h11
  5. bug dans une base Access
    Par bizouard dans le forum Access
    Réponses: 5
    Dernier message: 29/12/2003, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo