Contenu connexe Similaire à Hitchhiker's guide to the win8 Similaire à Hitchhiker's guide to the win8 (20) Hitchhiker's guide to the win83. Who am I ?
Imagine cup 2012
Windows Metro style App Challenge 3rd Place
17. public class FeedData public class FeedItem
{ {
public string Title { get; set; } public string Title { get; set; }
public string Description { get; set; } public string Content { get; set; }
public DateTime PubDate { get; set; } public DateTime PubDate { get; set; }
public ImageSource Image { get; set; } public Uri Link { get; set; }
public List<FeedItem> Items { get; set; } public ImageSource Image
} }
18. private async Task<FeedData> GetFeedAsync(string feedUriString)
{
// using Windows.Web.Syndication;
SyndicationClient client = new SyndicationClient();
Uri feedUri = new Uri(feedUriString);
public async Task GetFeedsAsync()
SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);
{
FeedData feedData = new feed1 =
Task<FeedData> FeedData();
feedData.Title = feed.Title.Text;
GetFeedAsync("http://cartoon.media.daum.net/webtoon/rss/koala");
feedData.Description = feed.Subtitle.Text;
this.Feeds.Add(await feed1);
feedData.PubDate = feed.Items[0].PublishedDate.DateTime;
}
foreach (SyndicationItem item in feed.Items)
{
FeedItem feedItem = new FeedItem();
feedItem.Title = item.Title.Text;
feedItem.PubDate = item.PublishedDate.DateTime;
feedItem.Content = item.Summary.Text;
feedItem.Link = item.Links[0].Uri;
feedItem._imagePath = item.Summary.Text.Substring(10, item.Summary.Text.Length - 10 - (item.Title.Text.Length + 2)
feedData._imagePath = item.Summary.Text.Substring(10, item.Summary.Text.Length - 10 - (item.Title.Text.Length + 2)
feedData.Items.Add(feedItem);
}
return feedData;
}
19. <ResourceDictionary>
<local:FeedDataSource x:Key="feedDataSource"/>
</ResourceDictionary>
ItemPage.xaml.cs Loadstate에 추가
FeedDataSource feedDataSource =
(FeedDataSource)App.Current.Resources["feedDataSource"];
if (feedDataSource != null)
{
if (feedDataSource.Feeds.Count == 0)
{
await feedDataSource.GetFeedsAsync();
}
this.DefaultViewModel["Items"] = feedDataSource.Feeds;
}
22. SplitPage.xaml.cs
protected override void LoadState(Object navigationParameter, Dictionary<String,
Object> pageState)
{
FeedData feedData = navigationParameter as FeedData;
if (feedData != null)
{
this.DefaultViewModel["Group"] = feedData;
this.DefaultViewModel["Items"] = feedData.Items;
}
}