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.
21 lines
754 B
21 lines
754 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?);
|
|
} |