在我的wp7.5應用程序中,我有一個塊需要顯示停止位(例如30,29,28 ... 1,0)。我嘗試過使用DispatchTimer和Timer類來實現這個功能,但沒有一個解決了我的問題。停止時鐘在wp7中的實現
方法1: 這裏是我用於DispatchTimer片斷,
DispatcherTimer dt = new DispatcherTimer();
dt.Interval = new TimeSpan(0, 0, 1); // 1 second
dt.Tick += new EventHandler(dt_Tick);
for(int count=0;count<30;count++)
dt.Start();
void dt_Tick(object sender, EventArgs e)
{
// my UI control update here
}
在我的Tick事件執行
我更新與時間計數器UI控件。我在這裏閱讀了一些關於同一主題的問題,因爲UI線程在某些場景中調度器刻度從不會觸發。它發生在我身上,tick事件從未解僱。
方法2: 我嘗試使用System.Threading.Timer類,
Timer timer = new Timer(TimerProc);
for(int count=0;count<30;count++)
timer.Change(1000, 0);
void TimerProc(object sender)
{
// my UI control update here
}
無我的方法奏效。我可能會問一個重複的問題,任何人都可以指出我在代碼中的錯誤行爲嗎?
感謝您的回答,但我注意到這種方法的問題。如果我使用20秒的間隔,實際上會循環到24秒。有什麼辦法可以使它準確嗎? – Mahender 2011-12-31 13:11:26
在這種情況下,您可以使用Timmer,查看我的更新答案。 – nemesv 2011-12-31 13:52:36