C# windows phone中的递增计时器

C# windows phone中的递增计时器,c#,timer,windows-phone,C#,Timer,Windows Phone,我在Windows phone上制作计时器应用程序时遇到问题。 我有文本框设置为00:00:00,我试图增加它每秒钟,但在第一秒钟后,它不会做更多。我相信这是一个简单的解决办法,并将非常感谢任何帮助。多谢各位 公共主页() { 初始化组件() time变量是在每次计时器滴答作响时创建的。因此,每次您将一秒添加到零时间跨度。您需要从委托中提取它。通常,您会将其设为类字段 time变量是在每次计时器滴答作响时创建的。因此,每次您将一秒的时间跨度添加到零。您需要从委托中提取它。通常,您会将其设置为类字

我在Windows phone上制作计时器应用程序时遇到问题。 我有文本框设置为00:00:00,我试图增加它每秒钟,但在第一秒钟后,它不会做更多。我相信这是一个简单的解决办法,并将非常感谢任何帮助。多谢各位

公共主页() { 初始化组件()

time
变量是在每次计时器滴答作响时创建的。因此,每次您将一秒添加到零时间跨度。您需要从委托中提取它。通常,您会将其设为类字段


time
变量是在每次计时器滴答作响时创建的。因此,每次您将一秒的时间跨度添加到零。您需要从委托中提取它。通常,您会将其设置为类字段。

感谢您的回复。因此,我必须从委托中提取它,以便它将继续添加一秒,而不是重新开始。我该如何处理继续这样做。抱歉,这可能很容易,但我只是开始在类中添加
TimeSpan time;
(不在任何函数中)。在
btnstart中,在启动计时器之前单击
add
time=new TimeSpan(0);
。删除复制到答案中的第一行代码(代理的第一行)。非常感谢您的回复。它现在运行得非常好。感谢您的回复。因此,我必须将其从代理中提取出来,这样它将继续添加一个,而不是重新开始。我将如何执行此操作。抱歉,这可能非常简单,但我只是开始在类中添加
TimeSpan time;
(不在任何函数中)。在启动计时器之前,在
btnstart中单击添加
time=new TimeSpan(0);
。删除我复制到答案的第一行代码(代表的第一行)。非常感谢您的回复。它现在运行良好。欢迎使用StackOverflow。您是否尝试调试代码?欢迎使用StackOverflow。您是否尝试调试代码?
        DispatcherTimer timer = new DispatcherTimer();
        timer.Interval = TimeSpan.FromSeconds(1);
        timer.Tick += OnTimerTick;
        timer.Start();
    }

    void OnTimerTick(object sender, EventArgs args)
    {
        txtTimer.Text = DateTime.Now.ToString();
    }

    private void btnStartClick(object sender, EventArgs e)
    {

        DispatcherTimer timer = new DispatcherTimer();

        timer.Tick +=
            delegate(object s, EventArgs args)
            {
                TimeSpan time = new TimeSpan(0);
                time += TimeSpan.FromSeconds(1);                   
                this.timenow.Text = string.Format("{0:D2}:{1:D2}:{2:D2}", time.Hours, time.Minutes, time.Seconds);
            };


        timer.Interval = new TimeSpan(0, 0, 1); 
        timer.Start();

    }
            TimeSpan time = new TimeSpan(0);
            time += TimeSpan.FromSeconds(1);                   
            this.timenow.Text = string.Format("{0:D2}:{1:D2}:{2:D2}", time.Hours, time.Minutes, time.Seconds);