我可能非常愚蠢,但如何解决以下问题? 当我想下载许多文件时,我使用链接列表和线程WebClient.DownloadFileAsync。但我希望在此过程中更新我的UI(ProgressBar),因此我使用 this answer 来部分解决问题。
但是当我应用这段代码时
void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
this.Dispatcher.BeginInvoke((Delegate MethodInvoker)
{
double bytesIn = double.Parse(e.BytesReceived.ToString());
double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
double percentage = bytesIn / totalBytes * 100;
thebar.Value = int.Parse(Math.Truncate(percentage).ToString());
});
}
我得到“'System.Delegate'是'类型'但是像'变量'一样使用”错误。
答案 0 :(得分:1)
您可以调用Dispatcher.BeginInvoke()
在WPF UI线程上运行委托。