我遇到了正常文本塊的刷新問題。我的代碼如下:WPF控件沒有正確刷新
public Window1()
{
InitializeComponent();
Thread newt = new Thread(Tick);
newt.Start();
}
void Tick()
{
while (true)
{
textBlock1.Dispatcher.Invoke(
DispatcherPriority.Normal,
new Action(
delegate()
{
textBlock1.Text = DateTime.Now.ToString("h:mm:ss");
Thread.Sleep(1000);
}
));
}
}
隨着應用程序的運行,顯示器進入睡眠模式12:55:55
。當我在1:02
處重新激活顯示器時,我注意到該值每秒更新一次,但是由於小時現在沒有十個單位,所以它左對齊,並且不更新12:55:55
秒的單位位置。
因此,它顯示的值爲:1:02:555
。在顯示器進入睡眠狀態之前,最後5個來自12:55:55
。
只有在最小化和最大化窗口後,控件纔會刷新,在這種情況下,它會顯示正確刷新的時間。
這是NVidia FX 1800的顯示驅動程序問題。有沒有人遇到同樣的問題?
我使用了DispatcherPriority.ApplicationIdle。也沒有幫助。 – Jeevan 2011-06-15 09:45:51