3

我需要显示一条加载消息,同时在 Windows 手机上发出 json 请求,就像 Android 上带有 ProgressDialog 的异步任务一样,我在 onPreExecute() 上放置了一个 dialog.show(),在 onPostExecute 上放置了一个 dialog.dismiss() . 我怎样才能在windows手机上做到这一点?

这是我的json请求:

WebClient webClient = new WebClient();
    webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
    webClient.DownloadStringAsync(new Uri("https://maps.googleapis.com/maps/api/place/textsearch/json?&query=taxi&location=-19.94549444,-43.92314218&&radius=5000&sensor=true&key=AIzaSyDucC8QBV5wu4V-dQXFfABXGaaUzdmT5xw"));

在下载此请求时,我需要显示加载消息,并在请求完成时输入。

4

1 回答 1

3

您可以显示进度条以指示正在进行的过程。
只需将代码如下:

WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);

ProgressIndicator progressIndicator = new ProgressIndicator() {
    IsVisible = true,
    IsIndeterminate = false,
    Text = "Loading..." 
};

SystemTray.SetProgressIndicator(this, progressIndicator);
webClient.DownloadStringAsync(new Uri("https://maps.googleapis.com/maps/api/place/textsearch/json?&query=taxi&location=-19.94549444,-43.92314218&&radius=5000&sensor=true&key=AIzaSyDucC8QBV5wu4V-dQXFfABXGaaUzdmT5xw"));

当您的请求开始执行时,这将显示一个进度条。
要在加载后停止此操作,请将以下代码添加到事件处理程序:

void webClient_DownloadStringCompleted(s, e)
{
    Dispatcher.BeginInvoke( () =>
    {
        progressIndicator.IsVisible = false;
        // Your code
    });
}
于 2013-08-01T14:44:33.690 回答