在Windows Phone 8.1中如何左右滑动?

3

我希望了解在Windows Phone 8.1中手势或水平滑动事件。我有下面的代码可以正常工作,但不知道如何理解滑动的状态。它是右滑还是左滑。所以我的问题是如何识别向右和向左的滑动?

void MainPage_PointerReleased(object sender, PointerRoutedEventArgs e)
        {
            var ps = e.GetIntermediatePoints(null);
            if (ps != null && ps.Count > 0)
            {
                gr.ProcessUpEvent(ps[0]);
                e.Handled = true;
                gr.CompleteGesture();
            }
        }
        void gr_CrossSliding(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.CrossSlidingEventArgs args)
        {
            //How to know you swipe left and right

        }
        void MainPage_PointerMoved(object sender, PointerRoutedEventArgs e)
        {
            gr.ProcessMoveEvents(e.GetIntermediatePoints(null));
            e.Handled = true;
        }
        void MainPage_PointerPressed(object sender, PointerRoutedEventArgs e)
        {
            var ps = e.GetIntermediatePoints(null);
            if (ps != null && ps.Count > 0)
            {
                gr.ProcessDownEvent(ps[0]);
                e.Handled = true;
            }
        }

我的构造器
Windows.UI.Input.CrossSlideThresholds cst = new Windows.UI.Input.CrossSlideThresholds();
cst.SelectionStart = 2;
cst.SpeedBumpStart = 3;
cst.SpeedBumpEnd = 4;
cst.RearrangeStart = 5;
gr.CrossSlideHorizontally = true;
gr.CrossSlideThresholds = cst;
gr.CrossSliding += gr_CrossSliding;

gr.GestureSettings = GestureSettings.CrossSlide;

也许你可以记住第一个按下的点,然后在释放时检查释放位置并与记住的位置进行比较。 - Romasz
那只是一个想法,不知道它是否能作为解决方案 :) - ARH
1个回答

0

一个想法是记住第一次按下的位置,然后在释放时检查释放的位置并与记住的位置进行比较。这应该可以确定用户移动手指的方向。

此外,如果可能的话,在使用操作事件时,也可以考虑使用速度 - 此帖子中的示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接