我正在制作一个Windows 8商店博客阅读器应用程序,我在从我的应用程序的第一页导航到第二页时遇到问题。第一页提供了一个项目列表,单击一个项目后,您将导航到第二个页面,该页面根据其标题提供有关所选项目的更多信息。执行此操作的代码如下所示。
public static FeedData GetFeed(string title)
{
// Simple linear search is acceptable for small data sets
var _feedDataSource = App.Current.Resources["feedDataSource"] as FeedDataSource;
var matches = _feedDataSource.Feeds.Where((feed) => feed.Title.Equals(title));
if (matches.Count() == 1) return matches.First();
return null;
}
当我运行应用程序时,我得到错误NullReferenceWasUnhandledByUserCode。你调用的对象是空的。有人可以为此提供解决方法。
答案 0 :(得分:0)
某些Feed链接已损坏,因此返回的Feed数据包含一些空Feed,解析它们会导致此异常。
更改此行代码:
var matches = _feedDataSource.Feeds.Where((feed) => feed.Title.Equals(title));
到:
var matches = _feedDataSource.Feeds.Where((feed) => feed != null && feed.Title.Equals(title));
这会忽略那些空的Feed。
答案 1 :(得分:0)
msdn文档中提供的Windows博客阅读器应用程序教程已经过时了,提到的提要链接也被破坏,因为微软改变了 windows blog 的链接“ windowsteamblog.com “to” blogs.windows.com “
我最近一直在尝试这个教程,&不幸的是遇到了很多错误,异常等。为了解决这个问题,我搜索了网络,&也发现剪切没有。那些遇到这个问题的人。我还遇到了一个channel9博客,其中有一个channel9博客列表。所以,我使用了这些链接&将 Windows博客阅读器应用转换为 Channel9博客阅读器应用。
与 Windows 8博客阅读器相同,主要区别在于源链接已从“ windowsteamblog.com ”或“ blogs.windows.com”更改“to” channel9.msdn.com “。
此外还有一些小的变化,因为它是Windows 8.1应用程序&不是Windows 8应用程序,所以如果你阅读这篇关于将Windows 8应用程序迁移到Windows 8.1应用程序的文章会更好: - migrating a Win 8 app to Win 8.1 app
以下是该应用源代码的链接: - Channel9 Blog Reader App Source Code