Un peu lié à ce sujet ici: Async XML Reading in Windows Phone 7Comment naviguer d'une page xaml à une autre et transmettre des valeurs?
Je développe une application Windows Phone, et j'ai une fonction de recherche dans mon dossier Search.xaml.cs. Il est appelé en cliquant sur un bouton, il crée une requête de recherche et appelle DownloadStringInBackground avec elle
private void SearchQuery(object sender, EventArgs e)
{
string temp = "http://api.search.live.net/xml.aspx?Appid=myappid&query=randomqueryhere&sources=web";
DownloadStringInBackground(temp);
}
public static void DownloadStringInBackground(string address)
{
WebClient client = new WebClient();
Uri uri = new Uri(address);
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadStringCallback);
client.DownloadStringAsync(uri);
}
private static void DownloadStringCallback(Object sender, DownloadStringCompletedEventArgs e)
{
// Fancy manipulation logic here
finalResult = words;
}
finalResult a été enregistré comme
public static string[] finalResult;
dans la classe de recherche. Ma question est, où puis-je mettre la commande Navigate (NavigationService.Navigate (new Uri ("/ Result.xaml", UriKind.Relative)))? J'ai essayé de le faire dans le rappel, mais j'obtiens une exception nullobject en raison du mot-clé static. Comment puis-je m'assurer que finalResult a été rempli, et que je peux naviguer vers Result.xaml et référencer les données dans finalResult sur cette page. Alternativement, comment puis-je passer des mots ou finalResult à Result.xaml?
Merci pour la recherche :)
Il Il se trouve que j'allais sur mon problème dans le mauvais sens. La bonne approche est ici: http: //www.jaylee.org/post/2010/06/22/WP7Dev-Using-the-WebClient-with-Reactive-Extensions-for-Effective-Asynchronous-Downloads.aspx I Je vais marquer la réponse de Mick comme la bonne parce que c'est la réponse à ma question initiale. Merci tout le monde. – Freakishly
La meilleure solution OMI: http://stackoverflow.com/questions/4701566/passing-a-complex-object-to-a-page-while-navigating-in-a-wp7-silverlight-applica/15536127 # 15536127 – radsdau