powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / BackgroundWorker и Commands
2 сообщений из 2, страница 1 из 1
BackgroundWorker и Commands
    #37602774
batanman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Помогите разобраться с проблемой.
К кнопке на форме привязана команда запускающая bgWorker.
Вопрос: почему НЕ ВСЕГДА запускается bgWorker.
code:
public ICommand StartProgressCommand
{
///
runMethod = new Commands.DelegateCommand(RunProgress, CanRunProgress);
///
}
private void RunProgress()
{
PrgBarValue = 0;
bgWorker = new BackgroundWorker();
bgWorker.WorkerReportsProgress = true;
bgWorker.WorkerSupportsCancellation = true;
bgWorker.RunWorkerAsync(new Models.CulcInput(int.Parse(ValueX), int.Parse(ValueY)));
bgWorker.DoWork += new DoWorkEventHandler(bgWorker_DoWork);
bgWorker.ProgressChanged += new ProgressChangedEventHandler(bgWorker_ProgressChanged);
bgWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgWorker_RunWorkerCompleted);
}
void bgWorker_DoWork(object sender, DoWorkEventArgs e)
{
Models.CulcInput input = (Models.CulcInput)e.Argument;
for (int i = 1; i <=100; i++)
{
Thread.Sleep(5);
bgWorker.ReportProgress(i);
if (bgWorker.CancellationPending)
{
e.Cancel = true;
return;
}
}
e.Result = input._x + input._y;
++Test; // считает сколько раз вызвался метод bgWorker_DoWork
}
и вешаю счетчик на нажатие кнопки вызова команды.
через несколько вызовов счетчик на кнопке и счетчик вызова метода bgWorker_DoWork показывают разные результаты. На кнопке увеличивается а счетчик метода нет.
Получается что при нажатии на кнопку поток bgWorker не запускаеться. Кто может объясните что происходит с bgWorker!?
...
Рейтинг: 0 / 0
BackgroundWorker и Commands
    #37603373
batanman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема была в том, что я вызывал метод RunWorkerAsync до присвоения событиям их обработчиков.
Метод RunWorkerAsync в конец и все работает как надо.
Сам спросил, сам ответил.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / BackgroundWorker и Commands
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]