2011-06-18 46 views
0
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--;行顯示。通過加速計錯誤的數據透視導航頁面

該代碼的目的是讓用戶在側向傾斜時導航到下一個數據透視頁面。

糾正我的代碼,如果我真的錯了。

+0

遺憾的雜亂,我的意思無妨。 – lala

+0

有問題下修改鏈接。 –

+0

已經編輯.. – lala

回答

2

如果您沒有權限,聽起來好像您還沒有啓用Sensor功能。在您的Solution中,轉至Properties文件夾並打開WMAppManifest.xml。然後<Capabilities>標籤內,補充一點:

<Capability Name="ID_CAP_SENSORS"/> 

(現金去keyboardP的解決方案)編輯後的一次:

Dispatcher.BeginInvoke(()=>

  { 
       if (args.X > 0.5f) 
       { 

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

       } 
      }) 
+0

我已經在我的WMAppManifest.xml中獲得了該代碼。但我仍然得到這個錯誤。也許我輸入的代碼是錯誤的?我不確定contentPivot.SelectedIndex ++;實際上意味着瀏覽樞軸頁面。我打算做的是當用戶傾斜手機時,數據透視頁面將被導航到下一個數據透視頁面。 – lala

+0

你能發佈實際的錯誤信息嗎? 'contentPivot.SelectedIndex ++'應該可以正常工作,它必須是別的東西。 – keyboardP

+0

「無效的跨線程訪問」。 - 這是我收到的錯誤消息。 – lala