在.NET 4.0 WPF中,如何检测左键双击?
看似微不足道的任务。
我没有找到在MouseDoubleClick
事件中使用System.Windows.Input.MouseButtonEventArgs
确定按下的是哪个按钮的方法。
MouseDoubleClick
传递 MouseButtonEventArgs
作为事件参数。这会暴露出ChangedButton 属性,它会告诉您双击了哪个按钮。
void OnMouseDoubleClick(Object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Left)
{
// Left button was double clicked
}
}
您是否在寻找 MouseButtonEventArgs.ChangedButton
?API请参考此处。
private void MouseButtonDownHandler(object sender, MouseButtonEventArgs e)
{
Control src = e.Source as Control;
if (src != null)
{
switch (e.ChangedButton)
{
case MouseButton.Left:
src.Background = Brushes.Green;
break;
case MouseButton.Middle:
src.Background = Brushes.Red;
break;
case MouseButton.Right:
src.Background = Brushes.Yellow;
break;
case MouseButton.XButton1:
src.Background = Brushes.Brown;
break;
case MouseButton.XButton2:
src.Background = Brushes.Purple;
break;
default:
break;
}
}
}