You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
768 B
26 lines
768 B
using System;
|
|
using System.Globalization;
|
|
using System.Windows.Data;
|
|
|
|
namespace DiscordChatExporter.Gui.Converters;
|
|
|
|
[ValueConversion(typeof(TimeSpan?), typeof(DateTime?))]
|
|
public class TimeSpanToDateTimeConverter : IValueConverter
|
|
{
|
|
public static TimeSpanToDateTimeConverter Instance { get; } = new();
|
|
|
|
public object? Convert(
|
|
object? value,
|
|
Type targetType,
|
|
object? parameter,
|
|
CultureInfo culture
|
|
) => value is TimeSpan timeSpanValue ? DateTime.Today.Add(timeSpanValue) : default(DateTime?);
|
|
|
|
public object? ConvertBack(
|
|
object? value,
|
|
Type targetType,
|
|
object? parameter,
|
|
CultureInfo culture
|
|
) => value is DateTime dateTimeValue ? dateTimeValue.TimeOfDay : default(TimeSpan?);
|
|
}
|