1

这是 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。

4

2 回答 2

0

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

于 2013-06-21T21:25:37.493 回答
0

要么将您的 DispatcherTimer 声明为静态类成员,要么具有停止它的静态 Stop() 方法。

于 2013-06-20T10:19:48.687 回答