2010-12-22 65 views
0

之後才顯示我正在使用Thread.Sleep(2500)在模擬層中模擬網絡調用,直到我們可以連接到Web服務。我用this example創建了一個帶有進度條(是的,我使用Jeff Wilcox的進度條)的彈出窗口,並且彈出窗口成功顯示。但是,我遇到了在使用Thread.Sleep()之後調用彈出窗口時無法加載的問題。進度條直到Thread.Sleep()返回後纔會出現。我試圖讓這個工作爲即將到來的演示,所以我想弄清楚如何使它與Thread.Sleep(),而不是等待的服務,並希望它在那裏工作。WP7彈出窗口顯示在thread.sleep之前,但直到

回答

4

您的Thread.Sleep正在睡覺UI線程,該線程阻止彈出窗口顯示,直到您的方法返回。您需要使用DispatcherTimer類才能在某個TimeSpan過去後在UI線程上獲得回調,或者創建一個可以進行睡眠的新線程。

當你有網絡操作時,這是一個很好的教訓:不要阻塞UI線程。

+0

難道沒有說得更好。 – KeithS 2010-12-22 01:39:32