WPF と .NET 4.0 を使用します。
完了時に関数を起動するために使用WebClient
および使用していくつかのデータをダウンロードしています。DownloadStringCompletedEventHandler
DownloadCompletedCallback
私が抱えている問題は、DownloadCompletedCallback
が呼び出されたときに、メイン フォームにラベルの内容を設定しようとしてエラーが表示されることです。
非静的フィールド、メソッド、またはプロパティ「Armory.MainWindow.lblDebug」にはオブジェクト参照が必要です。
関数DownloadCompletedCallback
が static として宣言されているためだと理解していますが、それが重要な理由はわかりません。
これが私が使用しているコードです。
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;
}
}