我正在编写一个WP7应用程序,它使用WebClient
的{{1}}方法获取网站信息。 DownloadStringAsync
在显示之前解析文本。
以例如:
DownloadStringCompletedEventHandler
我遇到的问题是,在foo() {
...
getAllTheWebsiteInfo()
...
// display the downloaded, parsed text [1]
...
}
getAllTheWebsiteInfo() {
...
DownloadStringAsync()
...
}
点,文本为空(默认值)。
[1]
是否有办法知道foo()
何时完成解析文本,以便在那时我可以正确显示下载的解析文本?
答案 0 :(得分:1)
您应该只调用在事件处理程序末尾更新UI的方法,而不是在foo
方法中设置文本,如下所示:
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
}
而不是你的方法,基本上是这样的:
private void foo()
{
// ...
getAllTheWebsiteInfo(); // as shown above
// ??? waiting stuff ???
UpdateUI();
}