Sto sviluppando un controllo di selezione orologio analogico. L'utente può fare clic sulla lancetta dei minuti o delle ore e trascinare per ruotare l'ago per selezionare l'ora specifica. Mi stavo chiedendo come rilevare un evento di clic e trascinamento.Fare clic con il mouse e trascinare Evento WPF
Ho provato a utilizzare MouseLeftButtonDown + MouseMove ma non riesco a farlo funzionare come MouseMove è sempre trigger quando il mousemove si verifica nonostante io utilizzi un flag. C'è un modo più semplice?
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;
}
Desidero che l'utente faccia clic e dr piuttosto che spostare il mouse. –
Nel drag & drop wpf, usare sempre PreviewMouseDown. In questo modo lo realizzerai lavorando con MouseMove. (MousDown è bubbling e non adatto per drag & drop) – deafjeff