powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Callback, как послать сигнал основному потоку?
3 сообщений из 3, страница 1 из 1
Callback, как послать сигнал основному потоку?
    #38863719
klointiinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть основной класс MainPage, в нём объект - экземпляр класса Work, выполняющего всю работу, а в Work - метод Do, в цикле выполняющий всё, что нужно. Проблема в том, что Do вызывает функцию, результат которой обрабатывается callback обработчиком там же, в классе Do. Т.е. рабочий цикл прерывается, делается вызов, из Do выходим по return , т.к. надо дождаться результата. А обработчик callback обрабатывает результат и запускает цикл с того же места, где прервалось. И этих вложенностей может быть несколько. Так вот, проблема в том, что результаты работы хранятся в полях объекта класса Work, и надо вывести их на страницу, как только цикл Do завершится полностью. Со страницы-то мы запускаем первый Do, но он завершается, не до конца отработав, когда мы первый раз вызываем эту грёбаную функцию. Потом, после callback, Do дорабатывает, но страница-то об этом не знает. Как подать ей сигнал? В цикле проверять поля Work? Не по TCP же сообщения кидать? Доступа к элементам страницы нет, выдаётся исключение Invalid cross-thread access.
...
Рейтинг: 0 / 0
Callback, как послать сигнал основному потоку?
    #38863734
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мои глаза........
честно говоря я нихрена не понял только то, что есть поток и надо делать вызовы из потока на обновление.

самый просто вариант, это использовать BackgroundWorker, там есть методы для прогресса, результата и т.д.

вариант посложнее: таски.

для обновления значений в интерфейсе использовать INotifyPropertyChanged

Но для начала, Вам надо понять, что такое WPF и почему приёмы WinForms в неприменимы.
...
Рейтинг: 0 / 0
Callback, как послать сигнал основному потоку?
    #38867332
unknownfromrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

Это чем же таски сложнее?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Callback, как послать сигнал основному потоку?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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