2011-10-05 25 views
0

我正在爲一個簡單的WP7應用程序設置墓碑。我有一個項目列表,我想將ListBox.SelectedIndex保存在狀態存儲器中,並且在返回頁面時,在列表中選擇該項目。WP7墓碑 - 無法設置從狀態數據中選擇項目的值列表

當我嘗試下面的代碼,保存該值似乎工作(我已通過顯示它在MessageBox中確認),但列表項未選中。

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
     { 

      if (State.ContainsKey("activeResult")) 
      { 
       listBox1.SelectedIndex = Convert.ToInt32(State["activeResult"]); 
      } 
      base.OnNavigatedTo(e); 
     } 

     protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) 
     { 
      State["activeResult"] = listBox1.SelectedIndex; 
      base.OnNavigatedFrom(e); 
     } 

該代碼編譯沒有錯誤 - 但列表框項目從未被選中。 感謝您的幫助! 歡呼 威爾

+0

你如何確定它是否被選中?你是否爲SelectionChanged添加了一個處理程序,以查看是否被調用?你什麼時候填充列表框? –

回答

3

胡亂猜測說你後數據綁定列表您設置的SelectedIndex,因此它沒有任何效果(除非它是零)。

解決方案:確保您的視圖模型被初始化,並加載你設置SelectedIndex,或數據綁定的SelectedIndex屬性之前,並將它放在您的視圖模型,而不是UI組件。

+0

你是對的 - 在經過很多調試後,我發現在設置SelectedIndex後我的確在數據綁定列表中。不錯的猜測,因爲有多少代碼被粘貼在上面! –