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 :

Question à propos du focus.


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut Question à propos du focus.
    Bonjour,

    Je développe actuellement une application wpf, et j'ai un petit soucis au niveau du focus (logical ou input). En fait, j'ai l'impression que wpf n'a pas le comportement normal d'un focus windows. Je m'explique :
    - Sous winform, lorsque l'on crée une window contenant simplement une textbox, et que la textbox prend le focus. Si l'on souhaite perdre le focus de la textbox, il suffit de cliquer n'importe ou ailleurs dans la fenêtre...
    Je n'arrive pas à avoir ce comportement en wpf... Si vous cliquez ailleurs dans la fenêtre, aucun événement de focus n'est levé, et la textbox garde le focus. D'ailleurs, je n'arrive pas non plus à valider le text en appuyant sur entrer, je suis obligé de passer par la touche tabulation pour changer de focus et donc valider le contenu de la textbox...
    Si quelqu'un a une idée.

    Merci.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Citation Envoyé par DCCreation Voir le message
    D'ailleurs, je n'arrive pas non plus à valider le text en appuyant sur entrer, je suis obligé de passer par la touche tabulation pour changer de focus et donc valider le contenu de la textbox...
    As tu spécifié le bouton par défaut sur le formulaire ? si tu n'as pas spécifié que la textbox accepte la touche entrée (AcceptReturn), ça devrait fonctionner normalement...

    Pour le focus, c'est étrange, dans quel container est il ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut
    Merci pour cette réponse si rapide.
    En fait, apparement, le AcceptReturn me permet de faire du multiligne, et non pas de valider le champs d'entrée de texte...
    Le container que j'utilise est simplement une window.
    C'est à dire, que j'ai une simple textbox dans ma window. J'ai essayé avec une grid en parent, c'est pareil, le focus n'est pas perdu lorsque je clic dans ma grid (qui contient un background rouge pour être sur que le clic est pri en compte). Par contre, si j'utilise un scrollviewer en parent de ma textbox, celà fonctionne, le scrollviewer prend le focus lorsque je clic dessus. J'ai du mal à comprendre la différence qui fait qu'un scrollviewer réagit de cette manière.
    Si tu as une explication.
    Merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Citation Envoyé par DCCreation Voir le message
    En fait, apparement, le AcceptReturn me permet de faire du multiligne, et non pas de valider le champs d'entrée de texte...
    Je voulais dire que si tu spécifie le AcceptResturn dans la textbox, il est possible que tu ne puisses pas valider ta forme car la textbox "attrape" dans ce cas le touche entrée (plus de bubbling).
    Je réitère ma demande pour mettre la propriété IsDefault sur le bouton.

    Pour le focus, j'avoue ne pas trop maitriser ce sujet. Pourquoi as tu besoin de le faire perdre à ton champs ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut
    Ha oui. Pas bête le AcceptReturn pour capter le enter !
    Par contre, je ne comprend pas ton idée de boutton IsDefault ... En fait, je n'ai pas de formulaire, je développe l'interface d'un soft d'architecture, et j'ai simplement des champs qui doivent par exemple modifier la hauteur d'un cube... Le problème c'est que mon patron veut qu'on utilise la touche entrée pour valider le texte (donc là priori, c'est bon avec AcceptReturn) ou qu'on clic ailleur dans la fenêtre, et du coup que la textbox n'ai plus le focus...
    Merci en tout cas, si tu as d'autres odées, je suis preneur.

  6. #6
    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,

    Si tu veux valider ton texte avec la touche Entrer, tu peux t'abonner à l'évènement KeyDown (ou PreviewKeyDown).
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        void Tbox_PreviewKeyDown(object sender, KeyEventArgs e) {
          if (e.Key == Key.Enter) {
            // validation
     
          }
        }

    Après est-ce que tu utilises du binding ? Car tu peux le définir pour mettre à jour ton objet sur la perte de focus (mais il me semble que pour les TextBox c'est le comportement par défaut).

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

Discussions similaires

  1. Question à propos des compilateurs
    Par elf dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 20/07/2005, 17h00
  2. Question à propos des niveaux de transaction
    Par davy.g dans le forum Oracle
    Réponses: 3
    Dernier message: 18/01/2005, 15h31
  3. Petite question à propos du redbook...
    Par Michaël dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2004, 12h54
  4. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

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