phone lumia instalar desde descargar como actualizar actualizacion c# listbox rss windows-phone

c# - lumia - windows 10 mobile actualizacion



Windows phone actualizar/actualizar los elementos de la lista (1)

En primer lugar, actualice este método:

private void GetFeed(string rss) { //register event handler first, then call the async method WebClient webClient = new WebClient(); webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted); webClient.DownloadStringAsync(new System.Uri(rss)); }

actualizar:

Parece que su solicitud fue almacenada en caché por el sistema operativo. Lo que puede hacer es agregar texto aleatorio a su url.

webClient.DownloadStringAsync(new System.Uri(rss + "?disablecache="+Environment.TickCount));

Tengo un problema con una aplicación de alimentación RSS. Cuando se inicia mi aplicación, el cuadro de lista obtiene los feeds y los muestra en mi cuadro de lista, pero cuando presiono mi botón Actualizar, el cuadro de lista nunca se actualiza, solo muestra los mismos elementos nuevamente, pero si cierro la aplicación y luego la reinicio, mostrará los últimos avances. Espero que haya alguien que pueda ayudar. Gracias.

MainWindow.xaml:

<ListBox Grid.Row="1" Name="feedListBox" ScrollViewer.VerticalScrollBarVisibility="Auto" SelectionChanged="feedListBox_SelectionChanged"> <ListBox.ItemTemplate> <DataTemplate> ... ... </DataTemplate> </ListBox.ItemTemplate> </ListBox>

MainWindow.cs:

private void appBarRefresh_Click(object sender, EventArgs e) { feedListBox.ItemsSource = null; GetFeed(IsolatedStorageSettings.ApplicationSettings["key"].ToString()); } private void GetFeed(string rss) { WebClient webClient = new WebClient(); webClient.DownloadStringAsync(new System.Uri(rss)); webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted); } private void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { if (e.Error != null) { Deployment.Current.Dispatcher.BeginInvoke(() => { MessageBox.Show(e.Error.Message); }); } else { this.State["feed"] = null; this.State.Clear(); this.State["feed"] = e.Result; UpdateFeedList(e.Result); } } private void UpdateFeedList(string feedXML) { StringReader stringReader = new StringReader(feedXML); XmlReader xmlReader = XmlReader.Create(stringReader); SyndicationFeed feed = SyndicationFeed.Load(xmlReader); Deployment.Current.Dispatcher.BeginInvoke(() => { feedListBox.ItemsSource = feed.Items; }); ; }

UPD de los comentarios:

En mi método OnNavigatedTo ejecuto este código:

if (this.State.ContainsKey("feed")) { if (feedListBox.Items.Count == 0) { UpdateFeedList(State["feed"] as string); } }