通过加速计误差转动导航页面

时间:2011-06-18 05:28:00

标签: c# windows-phone-7 pivot accelerometer

  void OnAccelerometerReadingChanged(object sender, AccelerometerReadingEventArgs args)
        {
            Dispatcher.BeginInvoke(() =>
                 {
                     if (args.X > 1.0f)
                     {

                         if (contentPivot != null)
                         {
                             if (contentPivot.SelectedIndex >= contentPivot.Items.Count - 1) contentPivot.SelectedIndex = 0;
                             contentPivot.SelectedIndex++;
                         }

                     }

                     if (args.X < -1.0f)
                     {

                         if (contentPivot != null)
                         {
                             if (contentPivot.SelectedIndex >= contentPivot.Items.Count - 1) contentPivot.SelectedIndex = 0;
                             contentPivot.SelectedIndex--;
                         }

                     }



                 });
        }

我收到错误消息“SelectedIndex”。它显示在contentPivot.SelectedIndex--;行。

此代码的目的是允许用户在侧面倾斜时导航到下一个数据透视页面。

如果我真的错了,请更正我的代码。

1 个答案:

答案 0 :(得分:2)

如果您没有权限,则听起来您没有启用Sensor功能。在Solution中,转到Properties文件夹,然后打开WMAppManifest.xml。然后在<Capabilities>标记内添加:

<Capability Name="ID_CAP_SENSORS"/>

(Credits转到keyboardP获得解决方案)再次编辑:

Dispatcher.BeginInvoke(()=&gt;

            {
                if (args.X > 0.5f)
                {

                    if (contentPivot!= null)
                    {
                        if (contentPivot.SelectedIndex >= contentPivot.Items.Count - 1) contentPivot.SelectedIndex = 0;
                        contentPivot.SelectedIndex++;
                    }  

                }
            })