wpf很多控件是没有MouseDoubleClick事件的,所以需要用MouseDown来模拟,具体思路,是判断用户两次点击的间隔,代码如下,是Border实现双击事件,同样道理StackPanel等没有双击事件的控件也可以如此实现。
private int times = 0;
private void Border_MouseDown(object sender, MouseButtonEventArgs e)
{
times += 1;
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 0, 0, 300);
timer.Tick += (s, e1) => { timer.IsEnabled = false; times = 0; };
timer.IsEnabled = true;
if (times % 2 == 0)
{
timer.IsEnabled = false;
times = 0;
this.WindowState = this.WindowState == WindowState.Maximized ?
WindowState.Normal : WindowState.Maximized;
}
}