Silverlight 2 has a Timer (DispatcherTimer)

简介: 在Silverlight 2以前的版本里中有很多不同的方法来模拟Timer.其中最流行的方法就是用StoryBoard来完成.在结束时不停的调用自己. 例如: public partial class Timer : UserControl {     public delegate vo...

Silverlight 2以前的版本里中有很多不同的方法来模拟Timer.其中最流行的方法就是用StoryBoard来完成.在结束时不停的调用自己.

例如:

public   partial   class  Timer : UserControl
{
    
public   delegate   void  TimerFiredHandler();

    
public   event  TimerFiredHandler TimerFired;

    
public  Timer()
    {
        InitializeComponent();
        TimeUnit.Completed 
+=   new  EventHandler(TimeUnit_Completed);
    }
    
    
void  TimeUnit_Completed( object  sender, EventArgs e)
    {
        TimeUnit.Begin();
        
if  (TimerFired  !=   null )
            TimerFired();
    }

    
public   void  StartTimer()
    {
        TimeUnit.Begin();
    }
}

客户端这样调用:

Timer t  =   new  Timer();

Container.Children.Add(t);

t.TimerFired 
+=   new  Timer.TimerFiredHandler(t_TimerFired);

t.StartTimer();


void  t_TimerFired()
{
    
//  Do Stuff here.
}

现在可以使用DispatcherTimer:

System.Windows.Threading.DispatcherTimer dt  =   new  System.Windows.Threading.DispatcherTimer();
dt.Interval 
=   new  TimeSpan( 0 0 0 0 500 );  //  500 Milliseconds
dt.Tick  +=   new  EventHandler(dt_Tick);
dt.Start();

void  dt_Tick( object  sender, EventArgs e)
{
    
//  Do Stuff here.
}

原文:http://pagebrooks.com/archive/2008/03/07/silverlight-2-has-a-timer-dispatchertimer.aspx
相关文章
silverlight Timer
转载地址http://www.cnblogs.com/lanbaoming/archive/2011/07/21/2112353.html 1 publicpartialclass Timer : UserControl 2 { 3 public Timer() 4 {...
708 0
下一篇
开通oss服务