Недавно я начал программировать в WPF и столкнулся с следующей проблемой. Я не понимаю, как использовать метод Dispatcher.Invoke()
. У меня есть опыт работы с потоками, и я создал несколько простых программ Windows Forms, где я просто использовал
Control.CheckForIllegalCrossThreadCalls = false;
Да, я знаю, что это очень слабо, но это были простые приложения для мониторинга.
Теперь я делаю приложение WPF, которое извлекает данные в фоновом режиме, я начинаю новый поток, чтобы сделать вызов для извлечения данных (с веб-сервера), теперь я хочу отобразить его в моей форме WPF, Дело в том, что я не могу установить контроль над этим потоком. Даже ярлык или что-то еще. Как это можно решить?
Ответьте на комментарии:
@Jalfp:
Поэтому я использую этот метод Dispatcher в "новом проходе", когда получаю данные? Или я должен заставить фонового рабочего извлечь данные, поместить их в поле и запустить новый поток, который ждет, пока это поле будет заполнено, и вызовите диспетчера, чтобы отобразить полученные данные в элементах управления?