2009-11-05 72 views
0

我已经开发了GDI +中的图形控件并在其中使用了一个定时器..现在我将它转换为WPF的 。但是当我继续寻找计时器时,WPF中没有计时器......我该如何解决这个问题?使用任何替代方法?WPF图形控件的问题

关于, rangana。

回答

1

您可以使用System.Threading.Timer,我想没有任何问题。

这里是一个定时器的例子执行每1秒:

using System.Threading; 

... 

TimerCallback timerCallBack = OnTimerCallback; 
Timer timer = new Timer(timerCallBack, null, 0, 1000); 

... 

private void OnTimerCallback(object state) 
{ 
    ... 
} 

如果您想更新从计时器任何UI相关的元素,你将不得不使用Dispatcher.BeginInvoke因为计时器在它自己的运行线程和UI由启动计时器的主线程拥有。这里有一个例子:

private void OnTimerCallback(object state) 
{ 
    Dispatcher.BeginInvoke(
     System.Windows.Threading.DispatcherPriority.Normal, 
      (ThreadStart) (() => Background = Brushes.Black)); 
}