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 :

canvas à l'écoute de MouseLeftButtonDown de ses enfants


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 97
    Par défaut canvas à l'écoute de MouseLeftButtonDown de ses enfants
    Bonjour,

    J'ai un canvas contenant un label.
    Le canvas et le label ont chacun un évènement MouseLeftButtonDown à lui.
    Le souci est que lorsque je clic sur le label, ca exécute l'évènement MouseLeftButtonDown du label mais aussi celui du canvas. Et moi je ne veux pas ^^

    Voici mon code :

    IHM :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Canvas x:Name="myCanvas" Background="LightGray" MouseLeftButtonDown="myCanvas_MouseLeftButtonDown" />
    </Window>

    Code behind :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
     
                Label label = new Label();
                label.Background = Brushes.Beige;
                label.Width = 80;
                label.Height = 80;
                label.MouseLeftButtonDown += Label_MouseLeftButtonDown;
                myCanvas.Children.Add(label);
            }
     
            private void myCanvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                MessageBox.Show("clic gauche sur le canvas");
            }
     
            private void Label_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                MessageBox.Show("clic gauche sur le label");
            }
        }

    Quelqu'un a-t-il une idée pour que le canvas ne soit pas à l'écoute des MouseLeftButtonDown de ses enfants?

    Merci.

  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,

    Pour que l'évènement du Label ne soit pas routé vers son père, il faut passer la propriété Handled à true :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            private void Label_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                MessageBox.Show("clic gauche sur le label");
                e.Handled = true;
            }

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2008
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 97
    Par défaut
    Super merci

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

Discussions similaires

  1. [treeview]insérer un noeud avec ses enfants
    Par new_wave dans le forum VB.NET
    Réponses: 4
    Dernier message: 14/05/2007, 16h55
  2. Trouver objets et ses enfants
    Par rod59 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/05/2007, 21h21
  3. [XSLT] Texte d'un élément, mais pas de ses enfants
    Par PierreY dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/02/2007, 10h22
  4. Réponses: 2
    Dernier message: 18/07/2006, 12h20
  5. [C#] [XML] Insérer un noeud entre un parent et ses enfants
    Par frechy dans le forum Windows Forms
    Réponses: 10
    Dernier message: 04/04/2005, 15h52

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