从不同的线程启动/停止DispatcherTimer

本文关键字:停止 DispatcherTimer 启动 线程 | 更新日期: 2023-09-27 18:10:45

这是我的代码…

public DispatcherTimer tmr = new DispatcherTimer();
void somefunction (parameters){
if (something)
  tmr.Start();
if (something else)
  tmr.Stop();
   }

我的问题是我不能从第二个函数访问tmr对象的Start/Stop方法,因为它运行在不同的线程上!!

有人能帮帮我吗?我被这个问题困扰了将近3天!(

从不同的线程启动/停止DispatcherTimer

您需要通过Dispatcher调用它(用于封送来自另一个线程的调用),如下所示

Deployment.Current.Dispatcher.BeginInvoke((Action)(()=>timer.Start())