从另一页停止计时器

时间:2013-06-20 09:53:46

标签: c# timer windows-phone-8

这是WP8项目。我有以下计时器每3秒“循环”一次。

private void temperatureTimer()
{     
     System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer();      
     dt.Interval = new TimeSpan(0, 0, 0, 0, 3000); // 3s
     dt.Tick += new EventHandler(dt_Tick);
     dt.Start();              
}

void dt_Tick(object sender, EventArgs e)
{
    var obj = App.Current as App;
    if (obj.off == true) //global variable 
        dt.Stop();
    Temperature z = new Temperature(); //runs some code...
}

我想在用户点击其他页面上的按钮时停止。

我试图使用全局变量停止它并在用户点击其他页面上的按钮时将其设置为true,但计时器仍处于打开状态。

2 个答案:

答案 0 :(得分:0)

将DispatcherTimer声明为静态类成员,或者使用静态Stop()方法将其停止。

答案 1 :(得分:0)

全局变量有效。我不得不重建我的项目,由于某种原因它不能正常工作。