Pracuję nad sterowaniem próbnika analogowego. Użytkownik może kliknąć wskazówkę minuty lub godziny i przeciągnąć, aby obrócić igłę, aby wybrać konkretny czas. Zastanawiałem się, jak wykryć takie zdarzenie typu "kliknij i przeciągnij".Kliknięcie i przeciągnięcie myszy Event WPF
Próbowałem używać MouseLeftButtonDown + MouseMove, ale nie mogę go uruchomić, ponieważ MouseMove jest zawsze wyzwalany, gdy ruch myszy pojawia się pomimo użycia flagi. Czy istnieje łatwiejszy sposób?
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;
}
Chcę, aby użytkownik kliknął i dr ag, a nie tylko poruszanie myszą. –
W wpf drag & Drop używaj zawsze PreviewMouseDown. W ten sposób osiągniesz to, pracując z MouseMove. (MousDown bulgocze i nie nadaje się do przeciągania i upuszczania) – deafjeff