예제 #1
0
        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);
 }
예제 #3
0
        /// <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);
            }
        }