我目前正在开展一个UWP
项目,需要我的DispatcherTimer
帮助。
我正在使用的是预订功能,如果在DispatcherTimer
刻度之前还剩15秒,我想要更改颜色。
我有两个名为timefrom
和timeTo
的变量,它们来自SQL
数据库。所以我想做的是首先将颜色从Green
更改为Red
,然后保持Red
直到距离timeto = DateTime.UtcNow
"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();
}
提前致谢!