如何回调主线程以启用后台工作线程中的按钮

use*_*050 1 c# wpf button backgroundworker isenabled

我有一个后台工作者被调用来做一些工作,在那个后台工作者我想启用一个Button:

myButton.IsEnabled = true;
Run Code Online (Sandbox Code Playgroud)

在我的UI(主线程)中.我需要做什么才能使回调主线程执行此操作?

小智 8

如果您可以从后台工作线程访问您的对象,您可以使用Dispatcher.Invoke方法将按钮的启用分配给您的UI线程,如下所示:

Application.Current.Dispatcher.Invoke((Action)delegate()
{
    myButton.IsEnabled = true;
}, null);
Run Code Online (Sandbox Code Playgroud)