Windows手机:恢复计时器后,计时器计数快两倍

时间:2013-07-28 07:49:03

标签: windows-phone-8

我正在使用DispatcherTimer类,以便在我的应用中使用Timer。我在for循环中使用了一个计时器,如下所示:

enter code here

   for (int i = 0; i < 3; i++)
        {
           dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 1,0);
           dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
           dispatcherTimer.Start();
           temp = 0;
        }
    }

    private void dispatcherTimer_Tick(object sender, EventArgs e)
    {

      txt.Text = temp.Tostring();
      if(temp<10)
        temp++;
      else
        dispatcherTimer.Stop();
    }

第一次迭代它正常工作并且每秒添加临时值,但是第二次迭代将使用2而不是temp ++对temp求和,而第三次迭代它将temp与3相加。

你是否知道我怎样才能解决这个问题,即每次将温度加一而不是二或三?

谢谢, 〜乙

1 个答案:

答案 0 :(得分:0)

停止计时器时,您需要取消绑定刻度线处理程序:

dispatcherTimer.Stop();
dispatcherTimer.Tick -= dispatcherTimer_Tick;