在我的 wp7.5 应用程序中,我有一个需要显示秒表的块(比如 30、29、28...1、0)。我尝试了各种实现来使用 DispatchTimer 和 Timer 类来实现这一点,但它们都没有解决我的问题。
方法 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
}
我的方法都没有奏效。我可能会问一个重复的问题,谁能指出我在代码中做错了什么?