C# 类库调用的WPF进度条

C# 类库调用的WPF进度条,c#,wpf,C#,Wpf,我正在为进度条做一个WPF项目。当前,它将基于静态值显示进度,进度将被称为“contentrendered” private void Window\u ContentRendered(对象发送方,事件参数e) { BackgroundWorker工人=新的BackgroundWorker(); worker.WorkerReportsProgress=true; worker.DoWork+=worker\u DoWork; worker.ProgressChanged+=worker\u P

我正在为进度条做一个WPF项目。当前,它将基于静态值显示进度,进度将被称为“contentrendered”

private void Window\u ContentRendered(对象发送方,事件参数e)
{
BackgroundWorker工人=新的BackgroundWorker();
worker.WorkerReportsProgress=true;
worker.DoWork+=worker\u DoWork;
worker.ProgressChanged+=worker\u ProgressChanged;
worker.RunWorkerAsync();
}
无效工作线程(对象发送器,工作线程目标)
{
对于(int i=0;i<100;i++)
{
(发送方作为后台工作人员)。报告进度(i);
睡眠(100);
}
}
void worker\u ProgressChanged(对象发送方,ProgressChangedEventArgs e)
{
pbStatus.Value=e.ProgressPercentage;
}
我正在考虑将这个项目整合到我的类库项目中。此类库将从服务器下载一个文件。我尝试了一些方法,但仍然没有成功。有人能帮我吗

            WebClient myWebClient = new WebClient();

            for (int i = 0; i < fileName.Count; i++)
            {
                myStringWebResource = uri + fileName[i];
                myStringTempResource = appPath + "\\temp\\" + fileName[i];

                myWebClient.DownloadFile(myStringWebResource, myStringTempResource);

                //worker.ProgressChanged += updateMgrProgress.worker_ProgressChanged;
            }
WebClient myWebClient=newwebclient();
对于(int i=0;i
如果我理解正确,你应该写这个

WebClient myWebClient = new WebClient();

for (int i = 0; i < fileName.Count; i++)
{
    myStringWebResource = uri + fileName[i];
    myStringTempResource = appPath + "\\temp\\" + fileName[i];

    myWebClient.DownloadFile(myStringWebResource, myStringTempResource);

    (sender as BackgroundWorker).ReportProgress(i);
}
然后报告
i
的值,就像您在示例中所做的那样

顺便说一下,
ProgressBar
有一个属性
isindestime
,您也可以使用它。

当您说“我尝试了一些方法,但仍然没有成功”时,您这样做时会出现特定错误吗?
WebClient myWebClient = new WebClient();

for (int i = 0; i < fileName.Count; i++)
{
    myStringWebResource = uri + fileName[i];
    myStringTempResource = appPath + "\\temp\\" + fileName[i];

    myWebClient.DownloadFile(myStringWebResource, myStringTempResource);

    (sender as BackgroundWorker).ReportProgress(i);
}
worker_DoWork(object sender, DoWorkEventArgs e)