[英]ListBox SelectionChanged WP7 to navigate with parameters
因此,在我正在制作的Windows Phone 7應用程序中,我將ListBox與SelectionChanged事件處理程序一起使用,以將用戶導航到新的網頁,從而顯示其他信息。 MainPage.xaml顯示一個列表框,其中填充了來自JSON文件的信息,該列表框可以正常工作。 但是,如果用戶想閱讀有關新聞的更多信息,則他/她將必須在ListBox中單擊新聞,這將觸發SelectionChanged事件,如下所示:
private void NewsList_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
int index = NewsList.SelectedIndex;
fetchNewsContent newsContentGetSet = new fetchNewsContent();
newsContentGetSet.newsID = newslistJson.ElementAt(index).news_id;
newsContentGetSet.newsTitle = newslistJson.ElementAt(index).news_title;
newsContentGetSet.newsAbstract = newslistJson.ElementAt(index).news_abstract;
newsContentGetSet.newsContent = newslistJson.ElementAt(index).news_content;
newsContentGetSet.newsAuthor = newslistJson.ElementAt(index).news_author;
newsContentGetSet.newsDatePublished = newslistJson.ElementAt(index).news_date_published_no;
//object[] someobject = { newsContentGetSet.newsID, newsContentGetSet.newsTitle, newsContentGetSet.newsAbstract, newsContentGetSet.newsContent, newsContentGetSet.newsAuthor, newsContentGetSet.newsDatePublished };
NavigationService.Navigate(new Uri("/NewsPage.xaml?obj=" + index, UriKind.Relative));
}
這只是對每個字符串(newsID,newsTitle等)使用帶有getter和setter的類(newsContentGetSet.cs),但是當激發SelectionChanged時,.cs文件不會設置新給定的newslistJson值! 為什么?
我還嘗試在NavigationService中僅發送文本參數,但是newsContent字符串太長(整個新聞故事),因此它返回“ shell page uri too long”錯誤。
現在,這只是將索引int發送到NewsPage頁面,該頁面試圖捕獲值,但是由於newsContentGetSet實際上沒有設置任何東西(嘗試時不會對其進行調試)而失敗。 Aaany的想法,真的嗎?
而不是通過參數傳遞數據。 您應該將數據保存到App類中的變量中,然后在導航到下一頁時從那里檢索它們。
App.xaml.cs
public static fetchNewsContent newsContentGetSet;
訪問它
var fetchedNewsContent = App.fetchNewsContent;
您可以從任何頁面存儲/檢索數據。 請注意,如果應用程序關閉,數據將消失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.