"e.TotalManipulation.Translation" не соответствует при проведении - PullRequest
0 голосов
/ 04 января 2012

У меня проблемы с страницей, которую я разрабатываю в WP7.В основном, я хочу «провести» вправо и влево и сделать что-то еще.Тем не менее, при перелистывании (в эмуляторе или на устройстве) System.Diagnostics.Debug.WriteLine(delta.X.ToString) может сообщать противоположные значения (что приводит к неправильному перелистыванию).Таким образом, я провожу вправо, и он сообщает что-то вроде «-15», а затем я снова проведу вправо, и он сообщает «15».Одно верно, а другое нет, но мой жест пальца одинаков оба раза.

Что может быть причиной этого?Вот мой кодЯ проверил это в другом приложении, и оно работает без проблем.Так что теперь это заставляет меня задуматься, что может заставить его сообщать о совершенно разных числах (опять же, приводя к неправильному желаемому действию).

Private Sub PlayerArea_ManipulationCompleted(sender As Object, e As System.Windows.Input.ManipulationCompletedEventArgs)
    If e.IsInertial Then
        e.Handled = True
        Dim delta As Point = e.TotalManipulation.Translation
        System.Diagnostics.Debug.WriteLine(delta.X.ToString)
        If delta.X < 0.0 Then
            p.MoveNext()
        ElseIf delta.X > 0.0 Then
            p.MoveBack()
        End If
    End If
End Sub

У кого-нибудь еще есть эта проблема?Я ничего не нашел на всем Binglehoo, который даже упоминает кого-то еще с этой проблемой.

1 Ответ

1 голос
/ 04 января 2012

Если вам не нужно делать это вручную, вы можете использовать жест HorizontalDrag из сборки XNA.

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