【发布时间】:2011-05-19 02:00:31
【问题描述】:
如何在 WP7 中的枢轴页面上应用加速度计来导航枢轴页面?
就像当我将手机向右倾斜时,它会将页面导航到右侧,当我将其向左倾斜时,反之亦然。
【问题讨论】:
标签: c# windows-phone-7 navigation pivot accelerometer
如何在 WP7 中的枢轴页面上应用加速度计来导航枢轴页面?
就像当我将手机向右倾斜时,它会将页面导航到右侧,当我将其向左倾斜时,反之亦然。
【问题讨论】:
标签: c# windows-phone-7 navigation pivot accelerometer
可以通过处理 AccelerometerReadingChanged 事件来检测加速度计读数,如 MSDN 中所述:
http://msdn.microsoft.com/en-us/library/ff604984.aspx
然后您需要对事件参数中返回的值应用某种阈值。当超过一个合适的阈值时,在枢轴索引中增加或减少,即pivot.SelectedIndex++
【讨论】:
虽然 ColinE 建议的方法无疑会奏效,但它有点混乱。您必须自己计算阈值,并且您从传感器获得的读数比您需要的要低得多。
我建议使用 Page 控件支持的 OrientationChanged 事件。
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;
}
}
【讨论】: