gpt4 book ai didi

wpf - 如何检测 WPF 应用程序中的触摸按住手势?

转载 作者:行者123 更新时间:2023-12-05 08:44:15 25 4
gpt4 key购买 nike

可以使用 MouseRightButtonDown 事件检测触摸按住手势。不幸的是,直到我从屏幕上松开手指,它才会触发。来晚了!

有人有想法吗?提前致谢。

最佳答案

有可能以等待的方式做到这一点。创建一个具有特定间隔的计时器。当用户点击时启动它,并在计时器结束时返回方法。如果用户松开手,则返回带有 false 标志的方法。

public static Task<bool> TouchHold(this FrameworkElement element, TimeSpan duration)
{
DispatcherTimer timer = new DispatcherTimer();
TaskCompletionSource<bool> task = new TaskCompletionSource<bool>();
timer.Interval = duration;

MouseButtonEventHandler touchUpHandler = delegate
{
timer.Stop();
if (task.Task.Status == TaskStatus.Running)
{
task.SetResult(false);
}
};

element.PreviewMouseUp += touchUpHandler;

timer.Tick += delegate
{
element.PreviewMouseUp -= touchUpHandler;
timer.Stop();
task.SetResult(true);
};

timer.Start();
return task.Task;
}

有关更多信息,请阅读此 post .

关于wpf - 如何检测 WPF 应用程序中的触摸按住手势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14337648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com