启动一个线程(WPF应用),更新页面控件时出错“ 调用线程无法访问此对象 ,因为另一个线程拥有该对象”,这个要如何修改?
现在在做一个进度条,在进度条运行时需新建一个线程,在后台任务执行的时候需要修改页面标签的值,
但是修改值的时候出错了。刚开始学习C#,请问下面的程序该如何修改才行?
但是修改值的时候出错了。刚开始学习C#,请问下面的程序该如何修改才行?
public void updateProcess(Label l) //......... pdh = new ProgressDialogHelper(); pdh.ShowProgress(() => { foreach (string runjob in runList) { //后台任务执行 l.Content ="加载中";//修改时出错 decimal process = (decimal)i / (decimal)runList.LongCount(); Console.WriteLine("P:" + p); if (process >= 1) { process = 1; } pdh.SetValue((double) process * 100); pdh.SetMessage("当前进度 :" + process); } pdh.CloseProgressDialog(); }); class ProgressDialogHelper{ //..... public void ShowProgress(Action workAction) { this.Worker = new Thread(new ThreadStart(workAction)); this.ProDialog = new ProgressDialog(); Worker.Start(); ProDialog.ShowDialog(); }