長時間操作時,我想禁用按鈕並清除文本塊。長時間操作時禁用按鈕
在按鈕點擊畫的屏幕使按鍵永不明顯禁用
private bool btnEnabled = true;
public bool BtnEnabled
{
get { return btnEnabled; }
set
{
if (value == btnEnabled)
return;
btnEnabled = value;
NotifyPropertyChanged("BtnEnabled");
}
}
private string results = "start";
public string Results
{
get { return results; }
set
{
if (value == results)
return;
results = value;
NotifyPropertyChanged("Results");
}
}
private void btn_Click(object sender, RoutedEventArgs e)
{
BtnEnabled = false;
Results = string.Empty;
// whould like to displany wait spinner
LongProcess();
BtnEnabled = true;
}
private void LongProcess()
{
//database query
System.Threading.Thread.Sleep(10000);
Results = "this is the results";
}
如何獲得的按鈕長事件期間禁用前的事件完全處理的?
問題我有是用戶感到沮喪,並開始點擊和這些點擊都在隊列中並得到處理。
使用後臺處理運行長碼。這將允許UI線程更新並顯示更改以禁用按鈕。 – crashmstr
我認爲你可以嘗試異步&等待實現這一點。 – ViVi
@Rennie是等待似乎要訣竅 – Paparazzi