У меня есть пользовательский элемент управления, в котором я хотел бы сделать что-то другое в случае одного клика или двойного щелчка.Я обрабатываю событие mouseLeftButtonDown следующим образом:
private void cueCanvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
switch (e.ClickCount)
{
case 1:
{
cueCanvas.Focus();
e.Handled = true;
_mouseStartPoint = Mouse.GetPosition(null);
break;
}
case 2:
{
double pos = Mouse.GetPosition(cueCanvas).X;
TimeSpan time = ConvertFromPosition(pos);
AddNewEvent(time);
e.Handled = true;
break;
}
}
}
Проблема в том, что WPF действительно не волнует, сколько раз вы щелкнули мышью, поэтому я получаю первое событие нажатия, даже есличтобы получить второй (в случае двойного щелчка).Кто-нибудь придумал способ обойти это?Я понимаю, что могу попытаться проявить смекалку и установить некоторые таймеры таким образом, чтобы первый щелчок был «отменен» в случае появления второго (я понимаю, что именно так и будет работать в фреймворке).Если это единственный ответ, кто-нибудь знает, как мы запрашиваем в системе соответствующую задержку клика?