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

DispatcherTimer を静的クラス メンバーとして宣言するか、それを停止する静的な Stop() メソッドを用意します。

于 2013-06-20T10:19:48.687 に答える