列表框选择改变了WP7使用参数导航
本文关键字:参数 导航 WP7 选择 改变 列表 | 更新日期: 2023-09-27 18:01:30
因此,在我正在制作的Windows Phone 7应用程序中,我使用带有SelectionChanged事件处理程序的ListBox将用户导航到新网页,显示其他信息。主页。xaml显示了一个ListBox,其中填充了来自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));
}
这只是使用一个类(newsContentGetSet.cs),为每个字符串(newsID, newsTitle等)提供getter和setter,但是当SelectionChanged被触发时,如果.cs文件没有设置新给定的newslistJson值!为什么?
我还尝试在NavigationService中只发送文本参数,但newsContent字符串太长(整个新闻故事),因此它返回"shell页面uri太长"错误。
现在,这只是将索引int发送到NewsPage页面,该页面试图捕获值,但失败了,因为newsContentGetSet实际上没有设置任何内容(当我尝试时不会调试它)。真的有什么想法吗?
不传递数据参数。你应该将数据保存到App类的变量中,然后当你导航到下一页时从那里检索它们。
App.xaml.cs
public static fetchNewsContent newsContentGetSet;
访问它var fetchedNewsContent = App.fetchNewsContent;
您可以从任何页面存储/检索数据。请注意,如果应用程序关闭,则数据将消失。