WPF Border控件中的MouseLeftButtonDown事件或MouseDown事件里判断鼠标单击还是双击,确保双击的时候不能引发单击事件。
万能模板:(来自百度知道)
private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { var element = (FrameworkElement)sender; if (e.ClickCount == 1) { var timer = new System.Timers.Timer(500); timer.AutoReset = false; timer.Elapsed += new ElapsedEventHandler((o, ex) => element.Dispatcher.Invoke(new Action(() => { var timer2 = (System.Timers.Timer)element.Tag; timer2.Stop(); timer2.Dispose(); UIElement_Click(element, e); }))); timer.Start(); element.Tag = timer; } if (e.ClickCount > 1) { var timer = element.Tag as System.Timers.Timer; if (timer != null) { timer.Stop(); timer.Dispose(); UIElement_DoubleClick(sender, e); } } } private void UIElement_Click(object sender, MouseButtonEventArgs e) { MessageBox.Show("单击"); } private void UIElement_DoubleClick(object sender, MouseButtonEventArgs e) { MessageBox.Show("双击"); }