我有一些用于检查双击的WPF触发器代码:
private void HandleButtonUp(object sender, MouseButtonEventArgs mouseEventArgs)
{
if (mouseEventArgs.ChangedButton == MouseButton.Left &&
(mouseEventArgs.Timestamp - _lastClick) < SystemInfo.DoubleClickTime)
{
this.InvokeActions(mouseEventArgs);
_lastClick = 0; // Require 2 clicks again
}
else
_lastClick = mouseEventArgs.Timestamp;
}
直到今天,这一切都运作良好。但是今天突然发现单击会触发操作。检查代码后,我发现时间戳的值是负数,这导致其始终小于SystemInfo.DoubleClickTime(我的设置为500)。
这是正常的吗?为什么突然改变了呢?