Сделайте что-нибудь, если на 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 - это три цвета, между которыми я хочу переключиться.

Заранее спасибо!

0 ответов

Другие вопросы по тегам