【问题标题】:How to handle/capture a long press in windows store apps如何在 Windows 商店应用程序中处理/捕获长按
【发布时间】:2012-10-20 18:20:40
【问题描述】:

谁能告诉我如何在 C# 中为 Windows 商店应用程序捕获长按? 我可以使用“轻敲”手势没问题,但是当我更换 TappedRoutedEventArgsHoldingRoutedEvent 它只是没有注册一个保持手势。 我正在用我的笔记本电脑对此进行测试,所以它可能无法识别鼠标按住事件吗?

我假设 windows phone 7 也有类似的功能,但它们主要用于 Silverlight,而不会用于 Windows 8。 任何链接/示例都会有很大帮助!

谢谢!

【问题讨论】:

    标签: windows windows-phone-7 windows-8 gesture long-press


    【解决方案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 事件中启动计时器并在释放事件中取消它。如果它在取消之前触发,那么他们按住鼠标指针。
    • 啊,我以为是这样的。再次感谢您的帮助!
    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 2016-10-22
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多