Windows phone 8 在Windows Phone 8上获取触摸事件,即使在停止或反转滚动时也是如此

Windows phone 8 在Windows Phone 8上获取触摸事件,即使在停止或反转滚动时也是如此,windows-phone-8,Windows Phone 8,当停止或反转ScrollViewer上的滚动时,不会触发任何屏幕触摸事件操作Started、MouseLeftButtonDown、MouseMove、Tap等。即使发生这种情况,我如何捕捉屏幕触摸事件 这些事件在ScrollViewer完全停止抛出后正常激发,而不是在停止或反转现有抛出时激发 编辑:我需要得到被触摸的实际元素。我认为您可以尝试使用FrameReported事件,在该事件中您可以从中读取手势。简单示例如下所示: using Microsoft.Xna.Framework.Inpu

当停止或反转ScrollViewer上的滚动时,不会触发任何屏幕触摸事件操作Started、MouseLeftButtonDown、MouseMove、Tap等。即使发生这种情况,我如何捕捉屏幕触摸事件

这些事件在ScrollViewer完全停止抛出后正常激发,而不是在停止或反转现有抛出时激发


编辑:我需要得到被触摸的实际元素。

我认为您可以尝试使用FrameReported事件,在该事件中您可以从中读取手势。简单示例如下所示:

using Microsoft.Xna.Framework.Input.Touch;
using Microsoft.Xna.Framework;

public MainPage()
{
    InitializeComponent();
    TouchPanel.EnabledGestures = (GestureType)1023; // read all gestures
    Touch.FrameReported += Touch_FrameReported;
}

private void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
    if (TouchPanel.IsGestureAvailable)
    {
        GestureSample gesture = TouchPanel.ReadGesture();
        float Xposition = gesture.Position.X;
        float Yposition = gesture.Position.Y;
    }
}

根据您的用途,您可以启用一些手势并从中读取各种属性。

我获得了触摸事件,但这并不能告诉我触摸了哪个项目-如何查询相关的顶部、底部、,任何UIElement(如滚动布局中的图像)的左侧和右侧,以便我可以使用示例中的Xposition和Yposition编号来确定是否触摸了UIElement?我已经编辑了这个问题。如果没有办法,那么您是否建议在这种情况下使用其他方法来获取被触摸的物品?@Navigateur是-这不会提供有关UIElement的信息。如果要检查单个元素,可以尝试检查该元素的位置GeneralTransform myTransform=App.Current.RootVisual.TransformToVisualIELENT;Point myPoint=myTransform.Transformnew Point0,0;。但这是一个艰难的解决办法。但是为什么不使用UIElement的Tap事件呢?因为Tap事件在所描述的条件下不会触发。在任何现有的fling动画中执行普通的点击而不拖动屏幕时,点击事件应在释放屏幕时触发,但事实并非如此,这可能是Microsoft的错误设计决策,也可能是一个意外错误。@NavigateEUR在这种情况下,该方法对您帮助不大。我必须说我已经没有主意了。