首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >完成回调DownloadStringAsync,展示信息

完成回调DownloadStringAsync,展示信息
EN

Stack Overflow用户
提问于 2012-03-28 17:31:28
回答 1查看 283关注 0票数 0

我正在编写一个WP7应用程序,它使用WebClientDownloadStringAsync方法获取网站信息。DownloadStringCompletedEventHandler会在文本显示之前对其进行解析。

举个例子:

代码语言:javascript
复制
foo() {    
    ...
    getAllTheWebsiteInfo()
    ...
    // display the downloaded, parsed text [1]
    ...
}

getAllTheWebsiteInfo() {
    ...
    DownloadStringAsync()
    ...
}

我遇到的问题是,在点[1]时,文本是空的(默认值)。

有没有办法让foo()知道DownloadStringCompletedEventHandler何时完成了对文本的解析,这样我就可以正确地显示下载的、解析过的文本了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-28 18:27:58

不应在foo方法中设置文本,而应只调用在事件处理程序末尾更新UI的方法,如下所示:

代码语言:javascript
复制
private void OnDownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    DoParsingStuff(e); // do parsing stuff - may or may not be in it's own method ;)

    UpdateUI(); // this would contain your code to update the UI,
                // just as the name says
}

而不是你的方法,基本上是这样的:

代码语言:javascript
复制
private void foo()
{
    // ...

    getAllTheWebsiteInfo(); // as shown above

    // ??? waiting stuff ???

    UpdateUI();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9904706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档