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 :

ItemsControl, dragNdrop, et récupération de l'objet clické. [Débutant]


Sujet :

Windows Presentation Foundation

  1. #1
    Membre habitué
    Inscrit en
    Février 2012
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 121
    Points : 157
    Points
    157
    Par défaut ItemsControl, dragNdrop, et récupération de l'objet clické.
    Bonjour à tous,

    J'essai actuellement de réaliser une opération de drag and drop, avec 2 itemsControls.

    Ces 2 items controles contiennent chacun une ObservableCollection<Carte> avec l'objet Carte composé d'une image (récupéré en Uri Pack), et une année.

    J'essai de réaliser une opération de drag and drop d'un itemsControl à l'autre.

    Je m'inspire de ceci

    Mon soucis, est que je n'arrive pas à récupérer mon objet Carte, dans la méthode MouseMove, comme suggéré dans l'exemple ci-dessus.

    je cherche donc à adapter ce code là :

    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
    25
     
    private void List_MouseMove(object sender, MouseEventArgs e)
    {
        // Get the current mouse position
        Point mousePos = e.GetPosition(null);
        Vector diff = startPoint - mousePos;
     
        if (e.LeftButton == MouseButtonState.Pressed &&
            Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
            Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance )
        {
            // Get the dragged ListViewItem
            ListView listView = sender as ListView;
            ListViewItem listViewItem = 
                FindAnchestor<ListViewItem>((DependencyObject)e.OriginalSource);
     
            // Find the data behind the ListViewItem
            Contact contact = (Contact)listView.ItemContainerGenerator.
                ItemFromContainer(listViewItem);
     
            // Initialize the drag & drop operation
            DataObject dragData = new DataObject("myFormat", contact );
            DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Move);
        } 
    }

    mais au lieu de prendre un listView, je veux le faire avec un itemsControl.

    Pour le moment j'arrive à récupérer ma liste, mais je n'arrive pas à récupérer l'item sélectionné (ma carte en fait), chose qui est faite avec le ListViewItem listViewItem = FindAnchestor<ListViewItem>((DependencyObject)e.OriginalSource);

    J'ai l'impression de ne pas avoir choisis le bon control, mais d'un autre coté, récupérer simplement un objet que l'on sélectionné dans une liste, est le B-A-BA.

    Est-il possible de le faire ?

  2. #2
    Membre habitué
    Inscrit en
    Février 2012
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 121
    Points : 157
    Points
    157
    Par défaut
    Résolu !

    j'ai tout simplement remplacé mon itemsControl par un listView, contenant un wrapPanel !

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

Discussions similaires

  1. récupération d'un objet à partir d'un Dataset
    Par midotoon dans le forum C#
    Réponses: 0
    Dernier message: 29/10/2008, 13h13
  2. erreur récupération d'un objet ResultSet
    Par shada dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 22/08/2008, 10h07
  3. Réponses: 4
    Dernier message: 29/06/2007, 11h17
  4. Récupération d'un objet d'une hashtable
    Par yazman dans le forum C#
    Réponses: 2
    Dernier message: 03/05/2007, 16h13
  5. JTable récupération d'un objet
    Par qwiskas dans le forum Composants
    Réponses: 7
    Dernier message: 31/10/2006, 16h35

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