WPF button 如何区分click和doubleclick

时间:2023-03-09 18:25:16
WPF button 如何区分click和doubleclick

WPF button 同时处理两个事件时候会先触发click事件,触发doubleclick事件  ,那如何区分呢,可以这样设置:

private static DispatcherTimer myClickWaitTimer =
            new DispatcherTimer(
                new TimeSpan(0, 0, 0, 1),
                DispatcherPriority.Background,
                mouseWaitTimer_Tick,
                Dispatcher.CurrentDispatcher);

private void Button_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            // Stop the timer from ticking.
            myClickWaitTimer.Stop();

Trace.WriteLine("Double Click");
            e.Handled = true;
        }

private void Button_Click(object sender, RoutedEventArgs e)
        {
            myClickWaitTimer.Start();
        }

private static void mouseWaitTimer_Tick(object sender, EventArgs e)
        {
            myClickWaitTimer.Stop();

// Handle Single Click Actions
            Trace.WriteLine("Single Click");
        }