9
votes

Seuil de distance de traînée WPF

J'ai un programme avec deux arbres WPFPviews qui permettent de glisser et de déposer entre les deux. Le problème est que cela peut être gênant d'ouvrir / fermer des éléments sur les arborescentes, car déplacez la souris d'un pixel tout en maintenant le bouton gauche de la souris déclenche la fonctionnalité de glisser / goutte. Y a-t-il un moyen de spécifier à quelle distance la souris doit bouger avant qu'elle ne soit considérée comme une traînée / goutte?


0 commentaires

3 Réponses :


1
votes

Il suffit de construire un petit tampon dans votre code qui détermine lorsque la traînée démarre.

  1. Drapeau Mouse Down
  2. sur la souris Déplacement - Vérifiez la souris vers le bas. Si oui, vérifiez si c'est déplacé le plus loin que n'importe quel tampon que vous spécifiez (3 pixels est probablement bon)
  3. Si cela a, commencez la traînée.

0 commentaires

20
votes

Il y a un paramètre système pour cela. Si vous avez

Math.Abs(current.X - down.X) >= SystemParameters.MinimumHorizontalDragDistance ||
Math.Abs(current.Y - down.Y) >= SystemParameters.MinimumVerticalDragDistance


0 commentaires