我有一个以秒为单位的视频时间最大值 slider (1 分钟 = 60 秒,因此如果视频长度为 60 秒,则 slider 的最大值将为 60)。
当我拖动 Thumb 时,ThumbTooltip 会显示我悬停的当前值。
我想更改该文本,而不是显示 int,它将显示时间 1 为 00:01 等等...
我尝试使用 Slider 的风格,但没有成功。
感谢您的帮助。
最佳答案
Slider
具有 ThumbToolTipValueConverter
属性。您需要创建实现 IValueConverter
接口(interface)的类。因为 Convert
方法将帮助您将默认 slider 值转换为自定义值。请参见下面的代码。
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();
}
}
关于c# - 更改 slider 缩略图工具提示的文本/数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18457622/