C# 从另一页停止计时器
这是WP8项目。我有以下计时器,每3秒循环一次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
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可用于从另一页通知到第一页。