从另一个线程启动/停止DispatcherTimer

时间:2011-10-10 07:22:56

标签: c# silverlight windows-phone-7 silverlight-4.0 windows-phone-7.1

这是我的代码..

public DispatcherTimer tmr = new DispatcherTimer();

void somefunction (parameters){

if (something)
  tmr.Start();
if (something else)
  tmr.Stop();

   }

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

有人可以帮帮我吗?我被这个问题打了将近3天! :(

1 个答案:

答案 0 :(得分:2)

您需要通过Dispatcher调用它(用于封送来自其他线程的调用),如此

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