Как применить акселерометр на сводной странице в WP7 для навигации по страницам? - PullRequest
2 голосов
/ 19 мая 2011

Как применить акселерометр к сводной странице в WP7 для навигации по сводным страницам?

Как и когда я наклоняю телефон вправо, он будет перемещаться по странице вправо, и наоборот, когда я наклоняю его влево.

Ответы [ 2 ]

3 голосов
/ 19 мая 2011

Показания акселерометра могут быть обнаружены путем обработки события AccelerometerReadingChanged, как описано в MSDN:

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

Затем необходимо применить некоторый порог к значениям, которыевозвращается в аргументах события.Когда подходящее пороговое значение было превышено, увеличение или уменьшение индекса поворота, то есть pivot.SelectedIndex++

0 голосов
/ 19 мая 2011

Хотя подход, предложенный ColinE, несомненно, сработает, он несколько запутан.Вам нужно будет самостоятельно рассчитать предельные значения, и вы получите намного более низкий уровень считывания с датчика, чем вам нужно.

Я бы предложил использовать событие OrientationChanged, поддерживаемое элементом управления Page.

protected override void OnOrientationChanged(OrientationChangedEventArgs e)
{
    switch (e.Orientation)
    {
        case PageOrientation.Portrait:
        case PageOrientation.PortraitDown:
        case PageOrientation.PortraitUp:
            contentPivot.SelectedIndex = 0;
            break;
        case PageOrientation.Landscape:
        case PageOrientation.LandscapeLeft:
        case PageOrientation.LandscapeRight:
            contentPivot.SelectedIndex = 1;
            break;
    }
}
...