因此,在我正在制作的 Windows Phone 7 应用程序中,我使用带有 SelectionChanged 事件处理程序的 ListBox 将用户导航到新网页,显示附加信息。MainPage.xaml 显示了一个使用 JSON 文件中的信息填充的 ListBox,它可以正常工作。但是,如果用户想要阅读更多关于新闻的信息,他/她将不得不单击 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 页面 uri 太长”错误。
现在,这只是将 index int 发送到 NewsPage 页面,该页面尝试捕获这些值,但由于 newsContentGetSet 实际上没有设置任何内容(当我尝试时不对其进行调试)而失败。Aaany想法,真的吗?