我在我的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