如何在Windows Phone 7.1中添加定时器?

本文关键字:添加 定时器 Windows Phone | 更新日期: 2023-09-27 17:53:46

我正在寻找一种方法来添加一个计时器(或秒表),将从0开始计数的时刻应用程序启动或按钮被点击,并保持计数,即使用户通过不同的页面导航,然后能够显示多少时间在应用程序的最后一页通过。我一直在摆弄DispatcherTimer类,但说实话,我很难理解它。任何帮助,甚至点头在正确的方向将非常感激!

如何在Windows Phone 7.1中添加定时器?

如果您想使用时间,您可以在显示时间的页面上添加一个!

将这段代码添加到构造函数或想要激活计时器的其他地方。(App.StartTime与我在另一个答案中写的相同)

        DispatcherTimer timer = new DispatcherTimer();
        timer.Tick +=
            delegate(object s, EventArgs args)
            {
                TimeSpan time = (DateTime.Now - App.StartTime);
                this.timenow.Text = string.Format("{0:D2}:{1:D2}:{2:D2}", time.Hours, time.Minutes, time.Seconds);
            };
        timer.Interval = new TimeSpan(0, 0, 1); // one second
        timer.Start();

你只需要存储应用程序启动时的时间,然后从存储值中减去当前时间。

App.cs中的

存储应用程序启动的时间:

    private static DateTime _starttime = DateTime.Now;
    public static DateTime StartTime
    {
        get
        {
            return _starttime;
        }
    }

在您的页面或任何需要获得应用程序运行的当前时间的地方,您只需从存储的时间中减去当前时间。我已经在一个按钮点击处理程序中使用了它,见下面:

    private void timebutton_Click(object sender, RoutedEventArgs e)
    {
        TimeSpan time = (DateTime.Now - App.StartTime);
        this.timenow.Text = string.Format("{0:D2}:{1:D2}:{2:D2}", time.Hours, time.Minutes, time.Seconds);
    }