WPF C#-实时倒计时在字符串中可见

WPF C#-实时倒计时在字符串中可见,c#,wpf,time,countdown,C#,Wpf,Time,Countdown,我正在用C#编写一段代码,并以编程方式创建了DateAndTimeSpan: var date = Convert.ToDateTime("24/12/2013"); var ts = Convert.ToDateTime("10:00 PM").TimeOfDay; var dateTime = date + ts; var datediff = DateTime.Now - dateTime; myCountdownLabel.Content = String.Format("{0} day

我正在用C#编写一段代码,并以编程方式创建了DateAndTimeSpan:

var date = Convert.ToDateTime("24/12/2013");
var ts = Convert.ToDateTime("10:00 PM").TimeOfDay;
var dateTime = date + ts;
var datediff = DateTime.Now - dateTime;
myCountdownLabel.Content = String.Format("{0} days, {1} hours, {2} minutes, {3} seconds", datediff.Days, datediff.Hours, datediff.Minutes, datediff.Seconds);
我的问题是:与其在生成代码时只显示日期差,然后按刷新按钮重新计算字符串,我如何使它成为一个实时倒计时,其中字符串分配给myCountdownLabel。内容每过一秒都会打勾

此外,我在我的应用程序中有大约10个不同的倒计时,所以这应该适用于不止一个倒计时,而不仅仅是这一个倒计时,如果可能的话

问候,

西蒙

看看MSDN上的页面。以下是一个例子:

DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    // Update myCountdownLabel here
    dispatcherTimer.Interval = new TimeSpan(0,0,10); // Set next time interval
}
看看MSDN上的页面。以下是一个例子:

DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    // Update myCountdownLabel here
    dispatcherTimer.Interval = new TimeSpan(0,0,10); // Set next time interval
}

您可以使用计时器执行此任务,即使是多次倒计时?如果要运行一些倒计时,您可以使用计时器执行此任务,即使是多次倒计时?If将有一些倒计时运行。谢谢,但我的问题是倒计时并不是全部定义的,因为即使我有6个定义的和常规的倒计时,也有4个标签是可变的,是通过编程创建的,并且是不同容器的子项。我不完全理解你的评论,但看到我编辑的答案。。。如果有帮助的话,你可以重新设置下一次间隔的时间。谢谢,但我的问题是倒计时并不是全部定义的,因为即使我有6个定义的和常规的倒计时,有4个标签是可变的,是通过编程创建的,并且是不同容器的孩子。我不完全理解你的评论,但是看到我编辑的答案。。。如果有帮助,您可以重置下一次间隔的时间。