我已经开发了GDI +中的图形控件并在其中使用了一个定时器..现在我将它转换为WPF的 。但是当我继续寻找计时器时,WPF中没有计时器......我该如何解决这个问题?使用任何替代方法?WPF图形控件的问题
关于, rangana。
我已经开发了GDI +中的图形控件并在其中使用了一个定时器..现在我将它转换为WPF的 。但是当我继续寻找计时器时,WPF中没有计时器......我该如何解决这个问题?使用任何替代方法?WPF图形控件的问题
关于, rangana。
您可以使用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));
}
你正在寻找的定时器DispatcherTimer http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.aspx
但是,如果你打算使用一个定时器来驱动动画,有更好的方法去做,在WPF(只是谷歌WPF动画)。