【问题标题】:Why ScrollViewer fired PointerCaptureLost when starting scroll?为什么 ScrollViewer 在开始滚动时会触发 PointerCaptureLost?
【发布时间】:2014-06-13 08:46:30
【问题描述】:

在我的 Windows 应用商店应用程序(c#,xaml)中,我有 ScrollViewer,当我放大它并尝试滚动时 - ScrollViewer 触发的事件 PointerCaptureLost 我不能再处理任何指针事件了。 为什么会发生,以及在滚动ScrollViewer 期间如何处理指针事件(例如PointerMoved)?

【问题讨论】:

  • 你必须使用 e.Handle=true 来处理它

标签: c# xaml windows-runtime windows-store-apps winrt-xaml


【解决方案1】:

如果没有一些严重的黑客攻击,这似乎是不可能的。

发生的事情是,每当有“导致 FlipView 动画的触摸事件”时,导致该动画的是 FlipView 中内置的 ScrollViewer,用于翻转。滚动查看器会带走指针输入,直到平移完成并且无法取回。这是一个称为 DirectManipulation 的功能,它现在在单独的线程上处理输入,以提供尽可能平滑的平移处理。 (指针 事件在 UI 线程中触发)*

http://social.msdn.microsoft.com/Forums/windowsapps/en-US/1e6732d3-0457-4ddc-b762-963ab974491c/pointerreleased-and-flipview

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多