Как обнаружить изменения RSS-канала в WPF

#c# #wpf #xaml #rss

#c# #wpf #xaml #RSS-канал

Вопрос:

Я хочу добавить RSS-канал в свое приложение WPF, и я следил за видео C # / WPF: создание простого RSS-ридера за 15 минут на YouTube.

Здесь показано, как настроить XmlDataProvider для RSS-канала и отобразить значения в виде списка. Но одна вещь, которую он не показывает, — это как автоматически обновлять / обновлять список при изменении RSS.

Может кто-нибудь, пожалуйста, показать мне, как отображать новые значения при изменении RSS-канала?

Комментарии:

1. За RSS нет технологии push, это действительно просто, верно? Вам нужно создать фоновый опросник.

Ответ №1:

Согласно странице XmlDataProvider класса в MSDN:

XmlDataProvider выполняет полное обновление всех привязок при XmlDocument.Происходит событие nodeChanged.

Со страницы XmlDocument.NodeChanged событий в MSDN это событие:

Происходит, когда значение узла, принадлежащего этому документу, было изменено

Поэтому ваш XmlDataProvider должен обновляться всякий раз, когда что-либо Node в нем изменяется. Однако, если ваш XmlDataProvider файл не обновляется при изменении значения Source свойства, вы можете вызвать DataSourceProvider.Refresh метод для него в коде, чтобы вручную обновить его:

 yourXmlDataProvider.Refresh();
 

Комментарии:

1. Я привязываю источник XmlDataProvider к URL-адресу веб-сервиса (и не использую XmlDocument). К сожалению, XmlDataProvider. Событие dataChanged не запускается при добавлении нового сообщения в RSS-канал.