Обновить UI-элемент из другого потока и другого класса - PullRequest
0 голосов
/ 23 сентября 2019

Я не совсем понимаю Диспетчер.Я работаю над WPF-приложением.

Следующий сценарий:

Я вызываю асинхронный метод из-за кода.(Метод находится в другом модуле, но общедоступный. Оттуда я не могу получить доступ к элементам пользовательского интерфейса.)

Теперь я хочу изменить ListBox из этого метода, но, очевидно, я не могу получить доступ к этому пользовательскому интерфейсу.элемент из этого метода, что делает вид Dispatcher бесполезным, поскольку я получаю сообщение об ошибке, что UI-элемент не объявлен.

Так что я могу вызывать только BeginInvoke из Code-Behind?Не имеет особого смысла, нет?

Код диспетчера, который у меня есть в моем асинхронном методе, вне mainWindow-класса:

Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, CType(Sub() AddLogFileText(stringLogFile), SendOrPostCallback))
...