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 :

[ListBox] Comment réaliser un Drag&Drop sur les items ?


Sujet :

Windows Presentation Foundation

  1. #1
    Membre régulier Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 87
    Points
    87
    Par défaut [ListBox] Comment réaliser un Drag&Drop sur les items ?
    Bonjour à tous,

    j'ai un problème qui m'agace un peu. J'ai une listbox "list1" et dedans des items assez complexe défini grâce à des styles pour faire quelque chose de jolie. J'aimerai faire du drag and drop sur ces items. J'ajoute donc cet évènement à ma list box :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    AddHandler list1.MouseLeftButtonDown, AddressOf ot_MouseEnter
     
    Private Sub ot_MouseEnter(ByVal sender As Object, ByVal e As MouseEventArgs)
            MessageBox.Show("ok")
        End Sub
    Seulement quand je clic sur ma listBox l'évènement est bien enclenché mais si je clic sur un item de ma listbox... rien ! Pourquoooi ?
    Antony, développeur .Net
    http://www.flecheinthepeche.fr/blog/

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 214
    Points : 341
    Points
    341
    Par défaut
    C'est parce que l'évènement MouseLeftButtonDown est géré par le ListBoxItem si tu cliques sur un item.

    Pour le récupérer au niveau de ton ListBox, tu dois t'enregistrer sur PreviewMouseLeftButtonDown.
    www.japf.fr mon blog sur WPF et .Net

  3. #3
    Membre régulier Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 87
    Points
    87
    Par défaut
    Ah oui en effet ça fonctionne mieux.... Mais maintenant comment récupérer le listBoxItem sur lequel j'ai cliqué ? l'objet sender renvoi ma listBox et la propriété selectedItem est null.
    Antony, développeur .Net
    http://www.flecheinthepeche.fr/blog/

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 214
    Points : 341
    Points
    341
    Par défaut
    Je te recommande cet excellent article qui devrait t'aider. La solution proposée est esthétique visuellement et techniquement
    www.japf.fr mon blog sur WPF et .Net

  5. #5
    Membre régulier Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 87
    Points
    87
    Par défaut
    Oui en effet mais c'est une véritable usine à gaz juste pour faire un petit drag and drop ! Je penses avoir trouvé une autre solution cependant, merci beaucoup pour ton aide !
    Antony, développeur .Net
    http://www.flecheinthepeche.fr/blog/

  6. #6
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Si la solution que tu as trouvée te convient, pourrais tu la citer ici ?
    ça m'éviterais de relancer une discussion ailleurs sur le même sujet.
    Merci d'avance
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  7. #7
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par Anto03 Voir le message
    Oui en effet mais c'est une véritable usine à gaz juste pour faire un petit drag and drop
    En même temps, elle te propose déjà tout ce qu'il faut: tu n'as plus qu'a l'utiliser

  8. #8
    Membre régulier Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 87
    Points
    87
    Par défaut
    Presque Thomas, le problème c'est qu'elle travaille que sur des itemControl et ce n'est pas ce que je veux dropper

    Ceci dit j'ai trouvé pas mal d'autre chose sur internet Laedit je te conseil ce petit article : http://blogs.msdn.com/llobo/archive/...p-library.aspx il devrait te convenir à toi aussi je penses...
    Antony, développeur .Net
    http://www.flecheinthepeche.fr/blog/

  9. #9
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Effectivement, ça va m'aider, merci beaucoup !

    Juste une petite question : lorsque je déplace mes objets, certains ayant été créés après d'autres, ils restent au dessus et cache donc l'objet qui se déplace.
    Sauriez-vous comment faire pour y remédier ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  10. #10
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Il te faut modifier leur propriété ZIndex pour dire que tu veux qu'ils apparaissent dessous/dessus

  11. #11
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Justement, j'ai cherché de ce côté et malheureusement ça ne marche pas.

    Est-ce parce que mes objets sont dans un WrapPanel ?

    Pour info, j'ai un WrapPanel qui contient des UserControl Case qui eux-mêmes contiennent un UserControl Pawn. Et ce sont donc les pions que je souhaiterais déplacer d'une case à l'autre...
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  12. #12
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par laedit Voir le message
    Justement, j'ai cherché de ce côté et malheureusement ça ne marche pas.

    Est-ce parce que mes objets sont dans un WrapPanel ?
    Normalement non car tous les objets qui héritent de Panel ont la propriété ZIndex

    Pour info, j'ai un WrapPanel qui contient des UserControl Case qui eux-mêmes contiennent un UserControl Pawn. Et ce sont donc les pions que je souhaiterais déplacer d'une case à l'autre...

    Et bien, dans le glisser/déplacer, tu changes le ZIndex de ton UC Pion et tu lui met une grande valeur (genre 100): ainsi, il apparaitra au dessus des UC de type Case.

  13. #13
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    ça ne marche malheureusement pas, mes pions continuent de passer sous les cases d'après.

    Est-ce parce-que mes pions sont dans le Content des cases ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  14. #14
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Non, je ne pense pas: si tu modifies bien les ZIndex, cela devrait fonctionner....

  15. #15
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Ben par défaut, le ZIndex des cases est à 0, et lors du déplacement, je met le ZIndex des pions à 100, mais le pion continue de passer en dessous des cases qui ont été crées après celle sur laquelle il est au début.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

Discussions similaires

  1. comment activer le drag and drop sur un mac?
    Par hammah dans le forum Apple
    Réponses: 3
    Dernier message: 25/11/2008, 18h30
  2. Comment réaliser un Drag & Drop entre 2 grids ?
    Par stipey dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/08/2008, 11h46
  3. Drag and drop sur une listbox (access 2002)
    Par puballenou dans le forum IHM
    Réponses: 1
    Dernier message: 23/11/2006, 17h57
  4. drag and drop sur une listBox?
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 30/09/2006, 10h27

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