WPF中的UI更新存在問題。WPF元素事件處理程序中的UI更新
我有這樣的代碼:
private void ButtonClick_EventHandler(object sender, RoutedEventArgs e)
{
Label.Visibility = Visibility.Visible;
TextBox.Text = "Processing...";
LongTimeMethod(); //some long operation
}
的問題是,直到LongTimeMethod端部(即事件處理程序結束時),Label.Visibility和TextBox.Text不會改變。
我解決它像這樣至今:
private void ButtonClick_EventHandler(object sender, RoutedEventArgs e)
{
Label.Visibility = Visibility.Visible;
TextBox.Text = "Processing...";
Dispatcher.BeginInvoke(new Action(LongTimeMethod),
DispatcherPriority.Background);
}
有沒有使用調度調用任何其他解決方案?調用this.UpdateLayout()不起作用。
Application.DoEvents沒有帶入WPF!如果你想釋放UI線程,你應該*釋放UI線程*,而不是通過處理任何未決的消息來僞造它。 – 2011-06-14 16:30:45
我們堅持並行化,我剛剛提出了一種替代解決方案。 – 2011-06-14 16:34:52