这种情况是使用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;