【WPF】 Timer与 dispatcherTimer 在wpf中你应该用哪个?
源:Roboby
1、timer或重复生成timer事件,dispatchertimer是集成到队列中的一个时钟。
2、dispatchertimer更适合在wpf中访问UI线程上的元素
3、DispatcherTimer用法
DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(100); timer.Tick += new EventHandler(timer_Tick); timer.Start();
4、Timer用法
private Timer timer; private void LoadTimer() { //实例化一个Timer时间器并启动,用来加载列表模版列数据 timer = new System.Threading.Timer(new TimerCallback(MyDelegate)); //设定0毫秒后启动,每隔1000毫秒执行一次 timer.Change(0, 1000); } delegate void UpdateTimer(); //通过委托来调用定时器方法,否则会报“不允许跨线程访问” void MyDelegate(object state) { this.Dispatcher.BeginInvoke(new Action(()=> { WinPaoMaDeng w = new WinPaoMaDeng(); w.Show(); this.Close(); timer.Dispose(); })); }