Итак, у меня есть программа, которая работает как пользовательский интерфейс для консольного приложения. Я попытался добавить индикатор выполнения к этому. Когда пользователь нажимает кнопку Start
, он делает это:
MainProgress.Value = 0;
MainProgress.Maximum = PackageNwCheckbox.IsChecked == true ? 4 : 3;
BackgroundWorker compilerWorker = new BackgroundWorker();
compilerWorker.WorkerReportsProgress = true;
compilerWorker.DoWork += StartCompiler;
compilerWorker.ProgressChanged += CompilerReport;
compilerWorker.RunWorkerAsync();
Это для того, чтобы обновить индикатор выполнения, когда программа GUI работает и передает консольную программу. Когда программа начинает заполнять массив с именем filemap
следующим образом:
filemap = Directory.GetFiles(ProjectLocation.Text + "\\www\\js\\", "*.js");
//The variable is an array of strings.
Приложение вылетает и появляется сообщение об ошибке
Поток вызовов не может получить доступ к элементу, потому что он есть у другого потока.