如何找到用户将全景图滑动到哪个方向?(Windows Phone)

本文关键字:方向 Windows Phone 用户 何找 全景 | 更新日期: 2023-09-27 18:27:40

我有一个全景页面。如何查找用户在哪一侧滑动全景?我需要知道滑动的方向

 void DialogPanorama_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
        {
            int selectedIndex = this.DialogPanorama.SelectedIndex;
            int count = this.DialogPanorama.Items.Count;
            for (int i = 0; i < count; ++i)
            {
                {
                    FeedItemViewModel curItem = this.DialogPanorama.Items[i] as FeedItemViewModel;
                    if (curItem != null)
                    {
                        if (Math.Abs(i - selectedIndex) > 1 && Math.Abs(Math.Abs(i - selectedIndex) - count) > 1)
                        {
                            curItem.ItemVisibility = System.Windows.Visibility.Collapsed;
                        }
                        else
                        {
                            curItem.ItemVisibility = System.Windows.Visibility.Visible;
                        }
                    }
                }
            }
        }

更新:

我认为应该使用

 Point startPoint = e.ManipulationOrigin;
            MouseState ms = Mouse.GetState();

如何找到用户将全景图滑动到哪个方向?(Windows Phone)

我要做的是在两个不同的时刻(短)获得触摸的坐标。如果坐标B的横坐标高于坐标A的横坐标,则用户想要向左滑动。如果堇青石B的横坐标低于坐标A的横坐标,则用户希望向右滑动。

看看这里(获得触摸位置):

http://msdn.microsoft.com/en-us/library/bb197572.aspx


编辑其他方式:

推断幻灯片方向的简单方法:

    private void Panorama_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        OldPage = ActualPage;
        ActualPage = panorama.SelectedIndex;
        MessageBox.Show("Old page: " + OldPage + "'n Actual Page: " + ActualPage);
        if (OldPage < ActualPage)
            MessageBox.Show("Direction of the slide: Right");
        else if (OldPage > ActualPage)
            MessageBox.Show("Direction of the slide: Left");
        // else if( some other specific condition...)
    }

    private int OldPage { get; set; }
    private int ActualPage { get; set; }