c# - 如何回调主线程以启用来自后台工作线程的按钮

标签 c# wpf button backgroundworker isenabled

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

myButton.IsEnabled = true;

在我的 UI(主线程)中。我需要做什么才能将调用返回到主线程来执行此操作?

最佳答案

如果您可以从后台工作线程访问您的对象,您可以使用 Dispatcher.Invoke 将按钮的启用分派(dispatch)给您的 UI 线程像这样的方法:

Application.Current.Dispatcher.Invoke((Action)delegate()
{
    myButton.IsEnabled = true;
}, null);

关于c# - 如何回调主线程以启用来自后台工作线程的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105848/

相关文章:

c# - 数据绑定(bind)到文本框不起作用

c# - 比较 Winform 按钮颜色

java - 当用户长按时更改 Android 上的任何按钮

c# - ASP.NET 通知

java - Google Play 游戏服务 VS Google Drive

wpf - 如何更改按钮的背景色?

wpf - WPF 无边框窗口的 DropShadow

单击后 jQuery 动画将不起作用

c# - 如何在 Windows 窗体 C# 中伪造鼠标光标位置?

c# - Angular Web 应用程序数据绑定(bind)不起作用