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 :

[MouseDoubleClick] Comment résoudre un problème de Focus ?


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 89
    Par défaut [MouseDoubleClick] Comment résoudre un problème de Focus ?
    Bonjour,

    J'ai une ListView où j'associe à chaque item un Event MouseDoubleClick :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    foreach (String nomFichier in listeFiles)
    {
       ListBoxItem lbi = new ListBoxItem();
     
       lbi.Content = nomFichier;
     
       lbi.MouseDoubleClick += new MouseButtonEventHandler(lbi_MouseDoubleClick);
     
       maListeBoxResultatTest.Items.Add(lbi);
    }
    Quand on double-clique sur un Item, je veux ouvrir une nouvelle Window avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void lbi_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    {
       MaNouvelleWindow maWindow = new MaNouvelleWindow();
    }
    Le problème est le suivant :

    Quand je double-clique, ma nouvelle fenêtre apparait mais est aussitôt "chevauchée" par la fenêtre de ma ListView.

    C'est comme si le second clic du double-clic refocusait la fenêtre de ma ListView...

    Comment puis je m'en sortir ?

    J'ai fait le test avec un évènement KeyDown :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    lbi.KeyDown += new KeyEventHandler(lbi_KeyDown);
     
    ...
     
    void lbi_KeyDown(object sender, KeyEventArgs e)
    {
       if (e.Key == Key.Enter)
       {
          MaNouvelleWindow maWindow = new MaNouvelleWindow();
       }
    }
    et là aucun souci...

    Merci.

    Pascal

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Je ne pensais que cela marchait en faisant uniquement :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    MaNouvelleWindow maWindow = new MaNouvelleWindow();

    Moi j'aurai eu tendance à ajouter juste après :

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 89
    Par défaut
    Euh, ça m'a l'air pas bête...

    Merci, je vais essayer...

    Pascal

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    si ton probleme de focus resiste tu peux rajouter

    le topmost de ta fenetre a true (comme ca elle reste au dessus temporairement
    et sur le gotfocu de la fenetre principale un indicateur qui file le focus a la fenetre fille tiut en remettant kle topmost a false ...

    maintenant j'ai pas testé, moi je rajouterais en plus entre l'instanciation et le show un petit mafenetre.owner = this;

Discussions similaires

  1. [ListView] Comment résoudre un problème de Binding/Multibinding rafraichissement ?
    Par Lookoum dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 26/09/2008, 09h27
  2. Réponses: 5
    Dernier message: 19/06/2008, 10h23
  3. Comment résoudre ce probléme : Exception d'E/S: Connection refused ?
    Par adil_vpb dans le forum Connexions aux bases de données
    Réponses: 17
    Dernier message: 19/11/2007, 16h19
  4. Réponses: 12
    Dernier message: 27/08/2007, 12h33
  5. Réponses: 3
    Dernier message: 19/05/2006, 15h54

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