2009-05-29 6 views
8

J'ai implémenté le glisser-déposer dans un ListView dans mon application WPF. Les éléments peuvent être glissés et déposés à l'intérieur du ListView, et également dans un TreeView qui se trouve à côté du ListView.WPF: Comment autoriser le défilement avec la roulette de la souris dans un ListView tout en faisant glisser des éléments ListView?

Actuellement, je l'ai configuré de sorte que lorsque vous faites glisser vers le bas de la ListView, il défile automatiquement vers le bas de la liste.

Ce que je voudrais savoir, c'est s'il y a un moyen de faire défiler le ListView avec la molette de la souris pendant que je fais glisser ses éléments? Il semble que les événements de la roulette de la souris ne soient pas déclenchés pendant que je glisse.

+1

Vous souhaitez utiliser la roulette de la souris et le bouton gauche de la souris en même temps? Bon sang, je ne suis pas vraiment coordonné. –

+0

Je me demandais juste: Qui utiliserait ça? Assez de gens ont déjà des problèmes avec le glisser-déposer, le défilement simultané ne semble pas beaucoup plus facile à effectuer. – Joey

+5

Je l'utiliserais, et apparemment nous en avons absolument besoin. De quel type de problèmes de glisser-déposer parlez-vous? – Robin

Répondre

0
  1. créer (et commencer) aide du crochet de la souris avant DragDrop.DoDragDrop(...)
  2. analyser molette de la souris (+ vérifier si la souris sur le contrôle)
  3. arrêt (disposer) aide du crochet de la souris après DoDragDrop() opération

Remarque : toujours arrêtez l'aide de la souris, car elle peut geler l'application quand elle est fermée sur la fenêtre (je la vois sur XP).

here Vous pouvez trouver un MouseHook, l'adopter (j'ai trouvé bug :)) ou quelque chose comme ça.

Questions connexes