更改Slider的ThumbTooltip的Text/DataFormat

Ron*_*Ron 3 c# slider tooltip windows-store-apps

我有一个滑块,其最大视频时间值以秒为单位(1分钟= 60秒,因此如果视频长度为60秒,则滑块的最大值将为60).

当我拖动Thumb时,会有ThumbTooltip显示我正在悬停的当前值.
我想改变那个文本,而不是显示int,它将显示时间1将是00:01等等...

我试着玩滑块的风格没有运气.

非常感谢您的帮助.

Xyr*_*oid 5

Slider拥有ThumbToolTipValueConverter财产.您需要创建实现IValueConverter接口的类.在该Convert方法中,该方法将帮助您将默认滑块值转换为您的自定义值.请参阅以下代码.

XAML

<Page.Resources>
    <local:SliderValueConverter x:Key="SliderValueConverter"/>
</Page.Resources>

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <Slider Maximum="60" Value="40" Height="100" Width="300" ThumbToolTipValueConverter="{StaticResource SliderValueConverter}" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

SliderValueConverter.cs

public class SliderValueConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, string language)
    {
        var seconds = System.Convert.ToInt32(value);
        return string.Format("{0:00}:{1:00}", (seconds / 60) % 60, seconds % 60);
    }

    public object ConvertBack(object value, Type targetType, object parameter, string language)
    {
        throw new NotImplementedException();
    }
}
Run Code Online (Sandbox Code Playgroud)