【发布时间】:2011-07-07 07:53:47
【问题描述】:
使用 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;
}
}
【问题讨论】:
标签: c# wpf oop scope downloadstring