Clic de la souris et faites glisser l'Événement WPF
Je suis en train d'élaborer une horloge analogique contrôle de sélecteur.
L'utilisateur est en mesure de cliquer sur la minute ou de l'heure de main et faites-le glisser pour tourner l'aiguille pour sélectionner l'heure. Je me demandais comment faire pour détecter une telle cliquez et faites glisser l'événement.
J'ai essayé d'utiliser MouseLeftButtonDown + MouseMove, mais je ne peux pas le faire fonctionner comme MouseMove est toujours de se déclencher lorsque l'événement mousemove, malgré moi, à l'aide d'un drapeau. Est-il un moyen plus facile?
public bool dragAction = false;
private void minuteHand_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
dragAction = true;
minuteHand_MouseMove(this.minuteHand, e);
}
private void minuteHand_MouseMove(object sender, MouseEventArgs e)
{
if (dragAction == true)
{
//my code: moving the needle
}
}
private void minuteHand_MouseLeftButtonUp(object sender, MouseEventArgs e)
{
dragAction = false;
}
OriginalL'auteur Ji yong | 2013-07-03
Vous devez vous connecter pour publier un commentaire.
Je pense que c'est la méthode la plus simple et la plus simple :
OriginalL'auteur George TG
Vous pouvez rendre les choses plus facile et n'a pas besoin de manipuler la souris vers le bas /haut :
Dans wpf drag&Drop, utilisez toujours PreviewMouseDown. De cette façon, vous permettra de le réaliser avec MouseMove. (MousDown bouillonne et ne convient pas pour le drag&drop)
OriginalL'auteur deafjeff
fait le tour
OriginalL'auteur Nick Prozee