我需要一个进度条样式,它使用图像作为每个进度块。 有什么想法吗?
答案 0 :(得分:0)
不是完美的解决方案,但我使用了Binding +一个自定义转换器来实现这一点,对于音量条。我的音量栏由八块砖组成,在我的情况下使用有两种颜色的矩形,一种用于非活动,一种用于活动。您可以通过图像和转换器来替换它,从而切换可见性。
<Grid>
<StackPanel Orientation="Horizontal">
<Rectangle Fill="{Binding Volume, ConverterParameter=0.0, Converter={StaticResource VolumeToColor}}" />
<Rectangle Fill="{Binding Volume, ConverterParameter=0.125, Converter={StaticResource VolumeToColor}}" />
<Rectangle Fill="{Binding Volume, ConverterParameter=0.25, Converter={StaticResource VolumeToColor}}" />
<Rectangle Fill="{Binding Volume, ConverterParameter=0.375, Converter={StaticResource VolumeToColor}}" />
<Rectangle Fill="{Binding Volume, ConverterParameter=0.5, Converter={StaticResource VolumeToColor}}" />
<Rectangle Fill="{Binding Volume, ConverterParameter=0.625, Converter={StaticResource VolumeToColor}}" />
<Rectangle Fill="{Binding Volume, ConverterParameter=0.75, Converter={StaticResource VolumeToColor}}" />
<Rectangle Fill="{Binding Volume, ConverterParameter=0.875, Converter={StaticResource VolumeToColor}}" />
</StackPanel>
<Slider Maximum="1" LargeChange="0.25" SmallChange="0.1" Value="{Binding Volume, Mode=TwoWay}" Opacity="0" Height="10" />
</Grid>
我相信你可以使用Blend,复制默认的Slider模板以及在滑块的Value上使用TemplateBinding来做得更好。
顺便说一句,如果你没有对Slider的值使用数据绑定,你可以使用ElementBinding来获取它的条形元素的值。