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

Silverlight Discussion :

MouseLeftButtonDown et MouseLeftButtonUp ?


Sujet :

Silverlight

  1. #1
    Invité
    Invité(e)
    Par défaut MouseLeftButtonDown et MouseLeftButtonUp ?
    Salut,

    J'ai un canvas intégrés dans un UserControl mais le problème est qu'il m'est impossible de détecter les évenements suivants MouseLeftButtonDown et MouseLeftButtonUp par le canvas. Mais l'évènement MouseEnter et MouseLeave sont détectés par le canvas.

    Quelqu'un a-t-il une idée?
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Une petite précision le canvas contient un controle button qui occupe toute la surface.

  3. #3
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    Une petite précision le canvas contient un controle button qui occupe toute la surface.
    Tu ne peux pas intercepter MouseLeftButtonDown et Up sur un bouton.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    Tu ne peux pas intercepter MouseLeftButtonDown et Up sur un bouton.
    Erreur je viens de découvrir que cela est possible en mettant le KeyMode du bouton à Hover. Pour plus de précision va voir ici. Mais il m'est toujours impossible de déclencher les deux évènements en même temps. Avec Hover seul le Down est déclenché.

    Merci pour ta réponse.
    Dernière modification par Invité ; 15/04/2009 à 14h04.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    Mais il m'est toujours impossible de déclencher les deux évènements en même temps. Avec Hover seul le Down est déclenché.
    Désolé. Ce que j'ai écrit j'avais mal codé. Les deux évènements sont déclenchés avec ClickMode à Hover.

  6. #6
    Membre habitué
    Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    Bonjour,
    je rencontre actuellement le même problème que vous:
    mes boutons ne lancent pas les évènements MouseLeftButtonDown et MouseLeftButtonUp.

    Lorsqu'on met la propriété ClickMode à Hover, on obtient effectivement les deux évènements MouseButtonUp et Down mais aussi un évènement Click dès que la souris passe au dessus (le Hover lance le Click en gros)
    En gros, on ne peut pas faire cohabiter le "click" classique avec les deux autres évènements?
    Ma seule solution est de considérer le MouseLeftButtonUp comme le "vrai" Click.
    Avez-vous une autre solution + "propre"?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Hover => L'évènement click n'est déclenché que si la souris entre dans la surface du bouton
    Press => L'évènement click n'est déclenché que si le bouton gauche (si t'es gaucher cela peut correspondre au bouton droit) de la souris est appuyé et que l'utilisateur est resté sur le contrôle bouton.
    Release => L'évènement click n'est déclenché que si le bouton gauche de la souris est appuyé et que l'utilisateur la relâche sur le contrôle bouton.

    Pour que les évènements MouseLeftButtonDown et MouseLeftButtonUp soient pris en compte il faut que tu mette la propriété ClickMode à Hover. Dans ce cas le click est déclenché si tu entre dans la surface du bouton. Si t'as pas besoin du click alors ne crée pas de gestionnaire pour cet événement et ça ira et rien ne t'empêche de considérer MouseLeftButtonUp comme le vrai click.
    ça depend de ce que tu veux faire pour résoudre ton problème. Moi j'ai mis la propriété ClickMode à Hover pour pouvoir déclencher l'évenement MouseLeftButtonDown qu'on ne peut déclencher si on est à Release ou Press.

  8. #8
    Membre habitué
    Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    Merci de ta réponse rapide.

    En gros j'étais en train de développer une sorte de "croix directionnelle" pour déplacer un canvas qui est + grand que son conteneur.

    donc, jusque là je fonctionnais en clic simple, pas de soucis. un clic sur le bouton du haut déplaçait mon canvas vers le haut etc...

    Comme ça marchait, j'ai voulu aller + loin et gérer l'appui prolongé sur le bouton qui déplacerait mon canvas tant que j'appuie. Et c'est là que j'ai rencontré le problème de cohabitation Click / MouseDown.

    Du coup je n'utilise plus l'évenement Click.
    Je fais tout au MouseLeftButtonDown , et je considère comme Click le MouseLeftButtonUp.

    Merci.

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

Discussions similaires

  1. Trouver le noeud cliqué sur MouseLeftButtonDown
    Par Golzinne dans le forum Silverlight
    Réponses: 2
    Dernier message: 13/09/2011, 23h23
  2. canvas à l'écoute de MouseLeftButtonDown de ses enfants
    Par Cecile5 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 11/05/2011, 16h38
  3. Event MouseLeftButtonDown sur un ListBoxItem
    Par Lelio1407 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 07/04/2011, 15h09
  4. MouseLeftButtonDown incompréhensible ?
    Par Invité dans le forum Silverlight
    Réponses: 1
    Dernier message: 20/04/2009, 20h34

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