Dispatcher.CheckAccess()
проверяет, связаны ли вы с потоком, в нашем случае это false.
InvokeRequired
проверяет, НУЖНО ли быть связанным с потоком, в нашем случае это правда.
Вам нужно вызвать (InvokeRequired == true
), когда вы не связаны с конкретным потоком.Другими словами, логическое определение требуемого вызова должно быть:
InvokeRequired = !Dispatcher.CheckAccess()
Вызов требуется, если у вас нет доступа к конкретному потоку