1

可能重复:
WPF:按钮单击 + 双击问题
WPF/MVVM - 如何处理 ViewModel 中的 TreeViewItems 双击?

我需要处理具有不同反应的 WPF 应用程序中按钮的单击和双击。单击一次我只想显示该按钮具有焦点,双击我想显示一个新窗口(类似于 Windows 图标行为)。但是在双击时,WPF 会触发两次单击,因此很难处理这种情况。任何人都可以帮助解决这个问题吗?谢谢你的帮助。

我试过这个:

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
            MainWindow c = new MainWindow()
    c.focusButton.Background = new SolidColorBrush(Colors.DarkBlue);
}

但是当我点击 focusButton 时,focusButton Bacground 并没有改变。

4

1 回答 1

0

有趣的问题。在我看来,第一步你必须像往常一样以不同的方式处理 Button_click。也许尝试使用一些计数器和计时器?

于 2012-11-10T20:20:49.660 回答