使用 WPF 和 .NET 4.0。
我正在下载一些数据,使用WebClient
并在完成后DownloadStringCompletedEventHandler
启动我的功能。DownloadCompletedCallback
我遇到的问题是,当DownloadCompletedCallback
被调用时,我试图在主窗体上设置标签的内容并出现错误。
非静态字段、方法或属性“Armory.MainWindow.lblDebug”需要对象引用。
我知道这是因为该函数DownloadCompletedCallback
被声明为静态,但我不明白为什么这很重要。
这是我正在使用的代码。
public static void DownloadHTML(string address)
{
WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadCompletedCallback);
client.DownloadStringAsync(new Uri(address));
}
private static void DownloadCompletedCallback(Object sender, DownloadStringCompletedEventArgs e)
{
if (!e.Cancelled && e.Error == null)
{
lblDebug.Content = (string)e.Result;
}
}