Я пытаюсь создать инфо-панель, которая отображает некоторую информацию относительно задержки поезда.
У меня есть Int
переменная TrainDelay
, которая конвертируется с помощью конвертера TimeSpanFormatConverter
Я хотел бы изменить отображаемый текст в моем TextBlock
в соответствии со значением TrainDelay
, используя Binding.
это условное утверждение, которое я хотел бы реализовать:
if TrainDelay > 0 display "Delayed"
if TrainDelay < 0 display "In Advance"
if TrainDelay = 0 display "On Time"
TimeSpanFormatConverter:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
int time = int.Parse(value.ToString());
value = TimeSpan.FromSeconds(time);
if (string.IsNullOrWhiteSpace(value.ToString()) || ((TimeSpan)value).Equals(TimeSpan.MinValue))
return "––:––";
else
return ((((TimeSpan)value) < TimeSpan.Zero) ? "-" : "") + ((TimeSpan)value).ToString(@"mm\:ss");
}
XAML:
<TextBlock Text="{Binding TrainDelay, Converter={StaticResource TimeSpanFormatConverter}}"/>
Как я могу это реализовать.