Привязал Conventer к столбцу DataGrid.
При двойном нажатии на пустую клетку сначало вызывается 2 раза Convert, потом я ввожу значение и вызвается ConvertBack 2 раза и потом 5 раз Convert. Значение value при вызове одно и тоже.
Привязка
Binding = new Binding($"Results[{_resultColumnsAmount - 1}].Time")
{
StringFormat = "mm:ss",
Converter = new StringToDateTimeConverter()
}
Converter
public class StringToDateTimeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if(value is not null)
{
DateTime date = (DateTime)value;
string dateString = date.ToString("mm:ss");
return dateString;
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
string? strValue = value as string;
DateTime dateValue;
if (DateTime.TryParseExact(strValue, "mm:ss", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateValue))
{
return dateValue;
}
return null;
}
}