在我的 WPF 项目中,我试图使用以下帖子使任务栏上的应用程序图标闪烁:https://stackoverflow.com/questions/8924556/force-window-to-blink-when-a-particular-event-occurs -in-c-sharp-wpf
但是当我调用方法 FlashApplicationWindow(); 它向我发送以下错误
调用线程无法访问此对象,因为所有者是另一个线程。
尝试坚持调用 FlashApplicationWindow(); 在BackgroundWorker但仍然抛出相同的错误。
有人可以帮我打电话吗?
通常的情况是一个应用程序一直在同一个线程上工作,但是当您使用多线程时,无论是通过 BackgroundWorker、Task、Thread 还是其他方式,都会创建新线程并且这些新线程无法修改主线程,即处理用户界面的那个,这就是出现该消息的原因,因为您尝试使用来自她以外的线程的界面元素做某事..
这个问题的经典解决方案可以总结为把你的电话放在这个里面:
准备好了,你告诉编译器在主线程中执行你的指令,没有必要把方法的所有内容都放好,只需要与接口有关的部分就足够了。