TimeSpanToStringConverter.cs 752 B

1234567891011121314151617181920212223242526
  1. using System;
  2. namespace InABox.WPF;
  3. public class TimeSpanToStringConverter : UtilityConverter<TimeSpan,String>
  4. {
  5. public TimeSpanToStringConverter(string? format)
  6. {
  7. Format = format ?? "HH:mm";
  8. }
  9. public string Format { get; set; }
  10. public override string Convert(TimeSpan value)
  11. {
  12. var result = string.IsNullOrWhiteSpace(Format) || string.Equals(Format, "hh:mm")|| string.Equals(Format, "HH:mm")
  13. ? Math.Truncate(value.TotalHours).ToString("#00") + ":" + value.Minutes.ToString("D2")
  14. : string.Format("{0:" + Format.Replace(":", "\\:") + "}", value);
  15. return result;
  16. }
  17. public override TimeSpan Deconvert(string value)
  18. {
  19. return base.Deconvert(value);
  20. }
  21. }