可能重复:
WPF: Button single click + double click problem
WPF/MVVM - how to handle double-click on TreeViewItems in the ViewModel?
我需要处理单击和双击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没有改变。
答案 0 :(得分:0)
有趣的问题。 在我看来,在第一步你必须像往常一样以不同的方式处理Button_click。 也许尝试使用一些计数器和计时器?