如何在 Windows 商店应用程序中处理/捕获长按
Posted
技术标签:
【中文标题】如何在 Windows 商店应用程序中处理/捕获长按【英文标题】:How to handle/capture a long press in windows store apps 【发布时间】:2012-10-20 18:20:40 【问题描述】:谁能告诉我如何在 C# 中为 Windows 商店应用程序捕获长按?
我可以使用“轻敲”手势没问题,但是当我更换
TappedRoutedEventArgs
和 HoldingRoutedEvent
它只是没有注册一个保持手势。
我正在用我的笔记本电脑对此进行测试,所以它可能无法识别鼠标按住事件吗?
我假设 windows phone 7 也有类似的功能,但它们主要用于 Silverlight,而不会用于 Windows 8。 任何链接/示例都会有很大帮助!
谢谢!
【问题讨论】:
【参考方案1】:使用举行事件:
XAML:
<Grid Background="StaticResource ApplicationPageBackgroundThemeBrush" Holding="Grid_Holding_1">
</Grid>
CS:
private void Grid_Holding_1(object sender, HoldingRoutedEventArgs e)
Debug.WriteLine("You held at" + DateTime.Now.ToString());
关于鼠标没有触发按住事件的说法是正确的。在模拟器中运行,然后就可以使用“Basic Touch Mode”来模拟Hold了。
【讨论】:
谢谢约翰!完美解决了我的问题。没有意识到模拟器有不同的触摸选项。也许你可以帮助我更进一步。由于模拟器不会拾取鼠标握持手势,是否有不同的方法来捕捉这一点?就像在处理鼠标手势的更多代码中一样?我发现 API 在这方面有点难以理解,所以认为最好在这里问! @AimeeJones 如果你想使用鼠标事件,你可以使用 PointerPressed 和 PointerReleased 事件。要使用鼠标完成类似的效果,您可以在 PointerPressed 事件中启动计时器并在释放事件中取消它。如果它在取消之前触发,那么他们按住鼠标指针。 啊,我以为是这样的。再次感谢您的帮助!以上是关于如何在 Windows 商店应用程序中处理/捕获长按的主要内容,如果未能解决你的问题,请参考以下文章
如何捕获“应用程序名称[procId]中发生未处理的win32异常。”
使用 fiddler 捕获 Windows 商店应用程序流量引发异常