2
我對UIElement.Visibility屬性有疑問。當點擊「StartAll」按鈕時,執行爲什麼控件的可見性屬性不會立即更新?
以下代碼:
private void butStartAllClick(object sender, RoutedEventArgs e)
{
butStartAll.Content = "Running";
LEDInitializing.Visibility = Visibility.Visible;
lblInitializing.Visibility = Visibility.Visible;
Init();
//...rest of code
}
初始化然後啓動一個冗長的初始化例程。我的問題是,只能修改Init()方法的結束處的可見性屬性。
如何讓它立即更新?
我已經使用分派像這樣嘗試:
LEDInitializing.Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.Normal,
new Action(
delegate()
{
LEDInitializing.Visibility = Visibility.Visible;
}
));
但是,這並沒有解決我的問題。
任何援助將不勝感激:)
不要在GUI線程上做冗長的東西。永遠。完全一樣。使用'await/async'或一些將長期任務旋轉到單獨線程的方法。 – millimoose