如果在DispatcherTimer

时间:2018-06-11 09:06:10

标签: c# uwp dispatchertimer

我目前正在开展一个UWP项目,需要我的DispatcherTimer帮助。

我正在使用的是预订功能,如果在DispatcherTimer刻度之前还剩15秒,我想要更改颜色。

我有两个名为timefromtimeTo的变量,它们来自SQL数据库。所以我想做的是首先将颜色从Green更改为Red,然后保持Red直到距离timeto = DateTime.UtcNow

还有15秒
"timefrom": "2018-02-17T14:00:00"
"timeto": "2018-02-17T15:15:00"

现在,我尝试过的是:

if (timeto < DateTime.UtcNow)
{
    StatusColor.Fill = GreenBrush;
}
else if (timeto > DateTime.UtcNow)
{
    GreenToRed();
}

这是我的DispatcherTimer

public void GreenToRed()
        {
            DispatcherTimer ColorTimer = new DispatcherTimer();
            ColorTimer.Interval = TimeSpan.FromSeconds(3);
            ColorTimer.Tick += async (Sender, args) =>
            {
                await StatusColor.Fade(duration: 1000, delay: 0, value: 0).StartAsync();
                StatusColor.Fill = RedBrush;
                await StatusColor.Fade(duration: 1200, delay: 0, value: 1).StartAsync();
                RedToYellow();
                ColorTimer.Stop();
            };
            ColorTimer.Start();
        }
  • StatusColor是一个控件,用于包含颜色 继续进行。
  • GreenBrush,RedBrush和YellowBrush是我想要的三种颜色 切换。

提前致谢!

0 个答案:

没有答案