UWP Xbinding сбой с конвертерами
Я должен конвертеры, чтобы использовать с Texblocks и слайдер в приложении UWP. При использовании Binding все работает нормально, но после изменения на x:Bind конвертер перестает работать. Свойства обновляются корректно, и если я удаляю Конвертер (из текстовых полей), я вижу, что значения обновляются (но без правильного формата).
Возможно, кто-то может помочь мне изменить код конвертера, чтобы он был совместим с x:Bind (я уже пробовал, но не могу найти решение).
Свойства:
Position = TimeSpan
Duration = TimeSpan
Duration.TotalSeconds = double
Элемент управления Slider нуждается в преобразовании положения в удвоение. Элемент управления Textblock нуждается в преобразовании позиции в строку с правильным форматом.
XAML код Ползунок управления
<Slider Name="PositionSlider" Orientation="Horizontal" Margin="10"
Value="{x:Bind ViewModel.Position, Mode=TwoWay, Converter={StaticResource TimeSpanToSecondsConverter}}"
Maximum="{x:Bind ViewModel.Duration.TotalSeconds}"/>
Элемент управления TextBlock
<TextBlock Margin="10" Text="{x:Bind ViewModel.Position, Converter={StaticResource TimeSpanToStringConverter}}"/>
Код для "TimeSpanToSecondsConverter"
public sealed class TimeSpanToSecondsConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var timeSpan = value as TimeSpan?;
return timeSpan?.TotalSeconds ?? 0.0;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
var seconds = value as double?;
return TimeSpan.FromSeconds(seconds ?? 0);
}
}
Код для "TimeSpanToStringConverter"
public sealed class TimeSpanToStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var timeSpan = value as TimeSpan?;
return timeSpan?.ToString("mm\\:ss");
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotSupportedException();
}
}
Спасибо.