本案例使用的是 C# WPF。我想在单击按钮后立即禁用它,以防止在短时间内连续单击两次。我在 OnClick_Event
中禁用了按钮,但仍然可以点击。
部分源码如下
private void Button_Click_UpdateBurndownChart(object sender, RoutedEventArgs e)
{
if(threadNotWorking)
{
updateButton.IsEnabled = false;
startWorkThread();
}
}
private void startWorkThread()
{
... ...
//after finish required process
updateButton.IsEnabled = true;
}
有什么办法可以做到这一点吗?
最佳答案
您可能想使用调度程序,可能存在线程问题(回调函数在单独的线程上运行并尝试访问在另一个线程上运行的 ui)。尝试这个 。 .
updateButton.Dispatcher.BeginInvoke(
new ThreadStart(() => updateButton.IsEnabled = false),
System.Windows.Threading.DispatcherPriority.Input, null);
代替
updateButton.IsEnabled = false;
关于c# - 为什么禁用的按钮可以点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13907996/