private void webClient_DownloadRssCompleted(object sender, DownloadDataCompletedEventArgs e) { if (!e.Cancelled) { try { if (e.Error != null) { throw e.Error; } toolStripStatusLabel1.Text = ""; RssListViewItem r = e.UserState as RssListViewItem; r.Channel = new RssChannel(new MemoryStream(e.Result)); if (r.Channel.Image.Url != null && Uri.IsWellFormedUriString(r.Channel.Image.Url, UriKind.Absolute) && !FeedImageList.Images.ContainsKey(r.Name)) { _imageWebClient.CancelAsync(); _imageWebClient.DownloadDataAsync(new Uri(r.Channel.Image.Url), r); } FillListView(r.Channel); } catch (Exception ee) { HandleException(ee); } } }
void webClient_DownloadImageCompleted(object sender, DownloadDataCompletedEventArgs e) { if (!e.Cancelled) { if (e.Error == null) { RssListViewItem r = e.UserState as RssListViewItem; try { Image i = ByteArrayToImage(e.Result); FeedImageList.Images.Add(r.Name, i); try { using (IsolatedStorageFileStream oStream = new IsolatedStorageFileStream(Toolbox.Md5(r.Name), FileMode.Create, _isoStore)) { i.Save(oStream, ImageFormat.Png); } } catch { } } catch (Exception ee) { HandleException(ee); } } } }
private void RefreshRssFeed() { try { RssListViewItem r = rssFeedsListView.SelectedItems[0] as RssListViewItem; _rssWebClient.CancelAsync(); _rssWebClient.DownloadDataAsync(new Uri(r.Url), r); } catch (Exception ex) { HandleException(ex); } }
private void rssFeedsListView_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { if (e.IsSelected) { RssListViewItem r = e.Item as RssListViewItem; if (r.Channel == null) { RefreshRssFeed(); } else { FillListView(r.Channel); } } }