我在我的UI中有10个按钮,当我按下其中一个按钮时,我需要禁用其余的按钮;但这里是棘手的部分:刷新后更新按钮状态wpf
我有一个后台线程运行在实时更新的while循环下。 后台线程更新UI(10个按钮状态和其他东西),事情是一旦我点击所有的按钮被禁用(好),但刷新停止按钮上工作(他们保持禁用)。
为什么我需要禁用按钮知道他们将在一秒钟后改变状态?因为同步数据效率不高,所以有0.5秒的差距(从数据库获取数据并更新用户界面),并且在0.5秒内,用户可以按下一些他不应该按的按钮。
<Button Name="FirstGo" Width="60" Content="{StaticResource ButtonText_Go}" Click="FirstGoButtonClick" IsEnabled="{Binding First.JobLight,Converter={StaticResource JobLight2ButtonConv}}"/>
private void FirstGoButtonClick(object sender, RoutedEventArgs e)
{
FirstStop.IsEnabled = false;
SecondGo.IsEnabled = false;
SecondStop.IsEnabled = false;
//..... disabeling the other 6
//doing some stuff
ViewModel.RunFirstJob();
}
您正在禁用“FirstGoButtonClick”事件中的所有按钮,但您又将其全部启用了哪些按钮? – SWilko
我有一个属性“First.JobLight”绑定一个转换器,这个属性,都会通过我的后台线程更新,并讲述了女巫状态下的按钮,他应该是: 的IsEnabled =“{结合First.JobLight,转换器= {StaticResource的JobLight2ButtonConv} } 的想法是,如果我点击一个按钮,然后 - >禁用所有按钮,直至发生刷新和重置他们INTIAL状态是现在很清楚 –
'First.JobLight'需要实现'INotifyPropertyChanged'和价值?需要改变该转换器可以运行。如果你在哪里工作'JobLight'改变你会发现你的问题 – SWilko