Запустить / остановить DispatcherTimer из другого потока - PullRequest
7 голосов
/ 10 октября 2011

Вот мой код ..

public DispatcherTimer tmr = new DispatcherTimer();

void somefunction (parameters){

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

   }

Моя проблема в том, что я не могу получить доступ к методам Start / Stop объекта tmr из второй функции, так как он работает в другом потоке !!!

Может кто-нибудь помочь мне ??Я поражен этой проблемой почти 3 дня!(

1 Ответ

2 голосов
/ 10 октября 2011

Вам нужно вызвать его с помощью Dispatcher (для маршалинга вызова из другого потока), например, так:

Deployment.Current.Dispatcher.BeginInvoke((Action)(()=>timer.Start())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...