我在寫一個數獨求解器應用程序。在某些情況下求解器的計算時間可能會超過3秒,這將需要一個進度條。用於長時間運行功能WP7的進度條C#
所以我的代碼:
private void solveButton_Click(object sender, RoutedEventArgs e)
{
progressBar1.Visibility = Visibility.Visible;
progressBar1.IsIndeterminate = true;
mySolver.Solve(initialValue)
progressBar1.Visilibity=Visilibity.collapsed;
progressBar1.IsIndeterminate = false;
}
這裏的代碼是我的實際代碼的精簡版。此代碼不起作用,因爲進度欄完全不顯示。在我看來,UI只有在事件執行完成後纔會更新。如果我在解算器步驟後沒有隱藏進度條,則在解決數獨後出現progressBar。用thread.sleep(1000)代替求解器也會導致相同的UI更新。
感謝您的幫助。
@Hanan RunWorkerCompleted在UI線程上運行。 – Skomski
對,謝謝 –