1
這個任務應該很簡單,但我沒有試過任何工作。我只是試圖讓按鈕被點擊時,文本消失,而數據加載和驗證。
我試過以下,它不強制重繪:如何在事件處理程序中強制控制內容重繪
private delegate void InlineDelegate();
private void btnLogon_Click(object sender, RoutedEventArgs e)
{
lblInvalidLogon.Dispatcher.Invoke(new InlineDelegate(() =>
{
lblInvalidLogon.Content = string.Empty;
lblInvalidLogon.InvalidateVisual();
}), System.Windows.Threading.DispatcherPriority.Render, null);
//
// Process to verify logon credentials...
//
}
我也試過DispatcherPriority.Send
,我已經放在一個Thread.Sleep
繼調用給它足夠的時間來更新用戶界面,但我沒有嘗試過會強制用戶界面在認證過程繼續時更新。
您需要將登錄驗證移動到另一個線程,它阻止了UI線程。 – Phil 2012-04-03 18:46:12
@Phil Yup,當我在發佈問題後回到項目中時,它顯然讓我的大腦時間到了無霧,而我意識到這正是問題所在。 – 2012-04-03 18:55:45