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,當用戶單擊其他頁面上的按鈕但定時器仍然打開時。
我很驚訝DispatcherTimer在頁面不活動時運行。也就是說,全局變量應該起作用。你確定計時器不停地滴答滴答嗎?如果你在停止之後添加'return',你有沒有相同的行爲? 'if(obj.off == true){dt.Stop();返回; }' –
EventHandler可以用來從另一個頁面通知第一頁。 – user2323308