определить поворот фильма и перетащить вправо или влево в Windows Phone 7? - PullRequest
3 голосов
/ 22 февраля 2012

У меня есть элемент управления Pivot на странице.

<controls:Pivot x:Name="pvtSearchFlights">
                <toolkit:GestureService.GestureListener>
                    <toolkit:GestureListener DragCompleted="GestureListener_DragCompleted" Flick="GestureListener_Flick"   />
                </toolkit:GestureService.GestureListener>
                <controls:PivotItem x:Name="pvtItemCurrent">
                    <StackPanel Height="700" Background="AliceBlue">
                    </StackPanel>
                </controls:PivotItem>
                <controls:PivotItem x:Name="pvtItemNext">
                    <StackPanel Height="700" Background="Red">
                    </StackPanel>
                </controls:PivotItem>
                <controls:PivotItem x:Name="pvtItemPrevious">
                    <StackPanel Height="700" Background="Green">
                    </StackPanel>
                </controls:PivotItem>
            </controls:Pivot>

Здесь я могу определить, правое или левое движение по приведенному ниже коду:

private void GestureListener_Flick(object sender, FlickGestureEventArgs e)
        {
            if (e.Angle > 90 && e.Angle < 270)
            {
                txtTest.Text = "right";
            }
            else 
            {
                txtTest.Text = "left";
            }
        }

Если яперетащите элемент управления pivot, элемент сводки меняется, но событие GestureListener_Flick не вызывается, поскольку это событие перетаскивания (здесь оно вызвало событие GestureListener_DragCompleted).Так что, в то время как я перетаскиваю также, я должен найти, перетащено ли это влево или вправо?

Здесь моя главная цель состоит в том, чтобы найти, перемещен ли шарп вправо влево или слева направо?

Как узнать, перетаскивается ли оно влево или вправо?

Заранее спасибо.

1 Ответ

2 голосов
/ 05 апреля 2012

Как насчет сохранения текущего индекса Pivot и добавления обработчика события SelectionChanged, а затем просто сравнить старый сохраненный индекс и новый из события?

Если diff "new - old" равно gt 0, оно справаи если diff равен lt 0, то он слева.Вы должны обрабатывать специальное состояние, когда старый или новый равен 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...