3

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

当我拖动 Thumb 时,会有 ThumbTooltip 显示我悬停的当前值。
我想更改该文本,而不是显示 int,而是显示时间 1 将是 00:01 等等...

我尝试使用 Slider 的风格,但没有运气。

将感谢您的帮助。

4

1 回答 1

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>

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();
    }
}
于 2013-08-27T06:09:22.187 回答