我一直在使用WPF和線程。wpf中的睡眠內循環
我想在for循環中暫停整個屏幕(僅適用於應用程序)。
E.g.
foreach (classA a in classesA)
{
....
....
Thread.sleep(100);
}
但是,我發現它會睡得很久,然後在一段時間內執行所有語句。 這不是我想要的。我想在for循環的執行過程中睡覺。那是第一次循環後睡100毫秒,然後再次睡第二次循環後.....
我發現一些文章提到DoEvents(),但我不是很熟悉它,WPF似乎沒有這種事情。
其他一些文章提到DispatcherTimer。不過,它不會鎖定屏幕。 我想鎖定整個屏幕(僅適用於應用程序),以防止在執行for循環期間點擊任何按鈕。
我該怎麼做?
非常感謝!
我試圖讓頁面IsEnabled = false。然而,它把我的一些控制從黑色變成了白色,非常醜陋!如何解決它? – user883434
@ user883434:你必須修改模板,如果它們是黑色的,開始時某人沒有正確地設置它們被禁用時的狀態... –
另一種方法是如果你不設置IsHitTestVisible爲False就像禁用的控件的外觀一樣。這使元素無視點擊。 – Aphex