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

C# Discussion :

WPF Routed Event [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 71
    Par défaut WPF Routed Event
    Bonjour,

    Je débute avec WPF.
    Je met un CheckBox dans le content d'un Button.
    Comment faire pour que l'évènement Click lors du changement de l'état Checked du CheckBox ne se propage pas au bouton ?
    J'ai passé 1 h 30 à rechercher sur internet mais je ne trouve pas de solution.

    Merci pour votre aide.

  2. #2
    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
    Tu as essayé de marquer l'évènement comme géré ? e.Handled = true dans le handler de l'évènement

  3. #3
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 71
    Par défaut
    Oui,

    En fait le sujet n'est pas aussi simple.
    Ce que j'essaye de faire en fait c'est ça :
    J'ai un menu, avec des menuItem.
    Dans un MenuItem, je met un UserControl composé d'une toolbar, d'un treeview et d'un stackPanel (Le tout dans un DockPanel)
    En gros je veux que mon menu me présente ce UserControl (ça c'est OK).

    Le souci c'est quand je sélectionne un item dans le treeview, le menuitem se ferme car il reçoit l'évènement Click.
    C'est cet évènement Click que je voudrais neutraliser pour le déclencher quand je veux (On double clique sur l'Item du TreeView, on lance l'écran voulu et à ce moment la je ferme le MenuItem).

    J'avais pris le cas du CheckBox et du Bouton car la problématique est la même.

    Merci

  4. #4
    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
    Je viens de faire ce test :

    Code XAML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                <Button Name="btn" Padding="5" Click="btn_Click">
                    <CheckBox Name="chk" Content="Test" Click="chk_Click" />
                </Button>
                <Label Name="lbl" Content="0" />

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            private void chk_Click(object sender, RoutedEventArgs e)
            {
                e.Handled = true;
            }
     
            private int _counter = 0;
            private void btn_Click(object sender, RoutedEventArgs e)
            {
                lbl.Content = ++_counter;
            }

    L'évènement Click du bouton ne se produit pas si on met Handled à true dans le click de la CheckBox... Tu es sûr que c'est l'évènement Click qui déclenche la fermeture du MenuItem ?

    Jette un oeil à la propriété StaysOpenOnClick du MenuItem, c'est peut-être la solution à ton problème

  5. #5
    Membre actif
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 71
    Par défaut
    super, Merci beaucoup
    Tout est ok

    Je débute en WPF depuis deux jours.
    Je suis plutôt expert en WinForms et j'avoue que WPF est très puissant.

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

Discussions similaires

  1. datagrid cell events wpf c#
    Par cocobelle89 dans le forum C#
    Réponses: 3
    Dernier message: 03/05/2013, 17h07
  2. WPF binder un event à Icommand.
    Par zalalus dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 30/08/2011, 14h00
  3. [wpf] Gestion des Events : selection d'un item d'une treeview
    Par Flaburgan dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 06/01/2011, 16h23
  4. [WPF 3.5]CustomControl avec Click et DoubleClick Event
    Par Anthares dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 28/09/2010, 08h53
  5. Petit souci de routed events dans un canvas
    Par Arno_94 dans le forum Silverlight
    Réponses: 2
    Dernier message: 16/02/2010, 17h30

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