Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从另一页停止计时器_C#_Timer_Windows Phone 8 - Fatal编程技术网

C# 从另一页停止计时器

C# 从另一页停止计时器,c#,timer,windows-phone-8,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 Event

这是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,但计时器仍处于打开状态。

将Dispatchermer声明为静态类成员,或者使用静态停止方法停止它。

全局变量可以工作。我不得不重建我的项目,因为某些原因,它不能正常工作。

我很惊讶当页面不活动时,调度程序会运行。也就是说,全局变量应该起作用。你确定计时器一直在滴答作响吗?如果在停止后添加退货,您是否有相同的行为?如果obj.off==true{dt.Stop;return;}EventHandler可用于从另一页通知到第一页。