public MainWindow()
 {
     InitializeComponent();
     RssFeedsList.DataContext = rssFeedsList;
     EmailList.DataContext = emailList;
     TagList.DataContext = tagList;
     feedLoader = new ConcreteFeedLoader();
 }
 private void RefreshBindingInFeedContent(FeedLoader feedLoader)
 {
     feedContent.Dispatcher.BeginInvoke(
         new Action(() => feedContent.DataContext =
             feedLoader.LoadFeedsEntry(rssFeedsList, tagList, emailList)));
 }
 private void GetFeedByCriteriasButton_OnClick(object sender, RoutedEventArgs e)
 {
     if (UseServiceCheckBox.IsChecked == false)
     {
         feedLoader = new ConcreteFeedLoader();
     }
     else
     {
         feedLoader = new ServiceFeedLoader();
     }
     if (timer != null)
     {
         timer.Stop();
         timer.Dispose();
     }
     timer = new System.Timers.Timer(checkedRadioButtonTimeGroup.TotalMilliseconds);
     ThreadPool.QueueUserWorkItem((state) => RefreshBindingInFeedContent(feedLoader));
     timer.Elapsed += (o, args) => RefreshBindingInFeedContent(feedLoader);
     timer.Start();
 }