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 :

Simulation de Drag and Drop entre deux ItemControl


Sujet :

Windows Presentation Foundation

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Simulation de Drag and Drop entre deux ItemControl
    Bonjour.

    J'utilise deux conteneurs de type LibraryBar et LibraryStack avec les mêmes éléments déplaçables de l'un à l'autre.

    Je voudrais savoir s'il est possible en code de simuler un drag&drop de l'un à l'autre.

    En effet, le LibraryStack est un conteneur visible de manière temporaire, et quand il redevient hidden, je voudrais que les items qu'il contenait reviennent dans la LibraryBar comme à l'origine (comme si l'utilisateur les redéplaçait).

    Là, je fais un clear des membres du LibraryStack, mais les éléments qui avaient été déposés dedans sont toujours grisés dans la LibraryBar... Et si je veux les rajouter, ils sont dupliqués.

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Surface quand tu nous tiens..

    Et si tu les supprimes de la libraryBar avant de les rajouter, ils ne seraient pas dupliqués...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Effectivement, Surface ... :p

    Pour la suppression/réajout, je ne vois pas bien, en fait j'ai testé de parcourir tous les items de mon LibraryStack, et de les supprimer/ajouter de la LibraryBar.

    Ajouter ca marchotte de loin, même si je ne pense pas que le cast soit super, par contre supprimer ça ne change rien (je suppose que le cast est pas terrible non plus ...).

    Sinon il n'y a pas un moyen simple de changer le parent des items ? Je parlais de simuler le Drag&Drop, mais s'il y a une autre méthode pour faire passer un item d'un ItemControl à un autre dans le code, je prends aussi.

  4. #4
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Bah tu peux peut être mettre Parent à null et ensuite le remplacer par le bon controle que tu veux...

    Je me souviens avoir eu le même problème et l'avoir résolu... Mais c'est il y a longtemps :-(

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Quand je fais un contenu statique (que des BitmapImage dans la LibraryBar), je peux les "transférer sans drag&drop" du LibraryStack au LibraryBar avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for (int i = 0; i < libraryTelephone.Items.Count; i++)
     {
      LibraryStackItem stackItem = (LibraryStackItem)librarystack.ItemContainerGenerator.ContainerFromIndex(i);
      librarybar.Items.Remove(stackItem.Content);
      librarybar.Items.Add(stackItem.Content);   
     }
    Malheureusement ce code ne marche pas dans le cas d'un contenu obtenu par binding sur du XML, j'ai une exception qui arrive ...
    Opération non valide quand ItemSource est en cours d'utilisation. Accédez aux éléments et modifiez-les avec ItemsControl.ItemsSource.
    Mais l'ItemsSource de mon LibraryStack est null, il obtient tout par drag&drop ...

Discussions similaires

  1. [VBA-E]drag and drop entre deux listbox
    Par Yolak dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/06/2012, 14h37
  2. Drag and drop entre deux Liste BOX
    Par simoinfonet dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/04/2008, 17h39
  3. Drag and drop entre deux ListBox
    Par simoinfonet dans le forum Langage
    Réponses: 0
    Dernier message: 18/04/2008, 18h53
  4. Drag and Drop entre deux list view
    Par mkaffel dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/10/2007, 21h52
  5. [FLASH MX2004] Drag and drop entre deux List
    Par aldo-tlse dans le forum Flash
    Réponses: 15
    Dernier message: 24/09/2005, 01h10

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