2012-10-16 100 views
-1
private void my_listbox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{    
    try 
    { 
     FrameworkElement element = (FrameworkElement)sender; 
     SampleData item = (SampleData)element.DataContext; 
     int index = dataSource.IndexOf(item); 
     string s = "/Page"+index; 
     s +=".xaml"; 
     NavigationService.Navigate(new Uri("s", UriKind.Relative)); 
    } 
    catch 
    { 
     MessageBox.Show("Sorry..please try again.."); 
    } 
} 

這是代碼的一部分。這有什麼問題?當我點擊列表框中的一個項目時,它會進入導航失敗的功能。我想要按下該項目並將其添加到導航頁面。你能幫忙嗎?如何將item的索引添加到wp7的導航頁面中

回答

2

圍繞 「S」 刪除引號:

NavigationService.Navigate(new Uri(s, UriKind.Relative)); 

如果你把s,那麼你正在使用的變量s的內容。如果您使用"s",那麼您將創建一個包含文字值s的新字符串。

+0

不WO即使在那之後...再次顯示定義導航失敗的相同功能。 –

+0

然後您的頁面可能不存在。在調用NavigationService.Navigate之前檢查's'變量的內容,然後確保在同一位置有一個XAML頁面。 –

+0

當我把它編碼爲'NavigationService.Navigate(newUri(「Page1.xaml」,UriKind.Relative));'它的工作正常 –

0

看着你從數據源,我覺得越來越指數的方式,可能是你正在嘗試通過查詢字符串參數傳遞給你的page..if這樣,嘗試這樣

string s = "/Page.xaml?index=" + index; 

,並在您的目的地頁面負載,讀這樣的說法

string qryArgVal = ""; 
NavigationContext.QueryString.TryGetValue("index", out qryArgVal); 
+0

nope沒有傳遞任何值。我想將索引值附加到導航頁面。 –

0

我發現自己的answer.in一個列表框獲得指標的最簡單的方法是int k = ((ListBox)sender).SelectedIndex;,現在你的k將具有索引值

相關問題