Сделайте что-нибудь, если на DispatcherTimer осталось определенное время
В настоящее время я работаю над UWP
проект и нужна помощь с моим DispatcherTimer
,
Я работаю с функцией бронирования, и я хочу, чтобы цвет менялся, если до DispatcherTimer
клещи.
У меня есть две переменные с именем timefrom
а также timeTo
и они приходят из SQL
база данных. Итак, что я хочу сделать, это сначала изменить цвет с Green
в Red
а потом останься Red
пока не останется 15 секунд, пока 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();
}
- StatusColor - это прямоугольник, который содержит цвет в качестве заливки.
- GreenBrush, RedBrush и YellowBrush - это три цвета, между которыми я хочу переключиться.
Заранее спасибо!