2012-01-25 3 views
0

У меня проблема с приложением. это приложение просто показывает числовое значение каждую секунду. вы можете видеть это как обратный отсчет. проблема в том, что этот Timer иногда останавливается, и я не знаю почему. где мой код:Почему мой WP7 Timer иногда останавливается?

public MainPage() 
{ 
    InitializeComponent(); 

    Loaded += new RoutedEventHandler(MainPage_Loaded); 
} 

я запустить таймер AFTE нагруженного события:

void MainPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    Timer t1 = new Timer(TimerCall); 
    t1.Change(0, 1000); 
} 

и вот метод, который chanes текст:

private void TimerCall(object state) 
{ 
    TextField.Dispatcher.BeginInvoke(delegate 
    { 
     TextField.Text = "some text change"; 
    }); 
} 

Я не понимаю, почему это иногда останавливается

+2

Вы пробовали DispatcherTimer? Он уже делает Invoking и может быть более подходящим. – dowhilefor

+0

Я не разработчик wp, но на первый взгляд кажется, что 't1' должен быть объявлен в области класса. – rfmodulator

ответ

0

Посмотрите на this article особенно раздел на надгробном камне

Рядом с тем, что таймер является локальной переменной вместо члена класса, вы можете столкнуться с процессом захоронения гроб. Статья объясняет это довольно хорошо.

Смежные вопросы