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



我正在用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个不同的倒计时,所以这应该适用于不止一个倒计时,如果可能的话,不仅仅适用于这一个倒计数。

问候,

Simon

查看MSDN上的DispatcherTimerClass页面。这里有一个例子:

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
}

最新更新