private void Refresh() { pMain.Items.Clear(); foreach (OnlinerSection section in OnlinerSettings.Sections) { if (section.IsEnabled) { PivotItem pi = new PivotItem(); pi.Header = section.Header; ListBox lb = new ListBox(); lb.ItemTemplate = GenerateNewsTemplate(); lb.SelectionChanged += new SelectionChangedEventHandler(listbox_SelectionChanged); pi.Content = lb; pMain.Items.Add(pi); RssService.GetRssItems(section.FeedUrl, (items) => { lb.ItemsSource = items; }, (exception) => { MessageBox.Show(exception.Message); }, () => { ShowProgress = false; }); } } if (pMain.Items.Count == 0) { PivotItem pi = new PivotItem(); TextBlock tb = new TextBlock(); tb.Text = "Нет разделов для отображения"; pi.Content = tb; pMain.Items.Add(pi); ShowProgress = false; } }
public ViewData() { RssService.GetRssItems( MyRssfeed, (title, items) => { App.Current.RootVisual.Dispatcher.BeginInvoke(() => { FeedTitle = title; FeedItems = new ObservableCollection <RssItem>(items); }); }, (exception) => { MessageBox.Show(exception.Message); }, null); }
/// <summary> /// Получение записей из RSS Яндекса /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void ButtonGet_Click(object sender, EventArgs e) { _richTextBoxFromYa.Text = String.Empty; ChangeState(State.Busy); try { //получаем и отображаем записи от яндекса var items = await _rssService.GetRssItems(); ShowItems(items, "Не удалось получить новые записи."); //запоминаем в БД await _data.SaveItems(items); } finally { ChangeState(State.Free); } }