1
我需要一個進度條樣式,它使用圖像作爲其每個進度磚。 有什麼想法?Silverlight ProgressBar與自定義圖像磚
我需要一個進度條樣式,它使用圖像作爲其每個進度磚。 有什麼想法?Silverlight ProgressBar與自定義圖像磚
編輯:我的答案是一個滑塊控件,它可以很容易地適應ProgressBar控件,使用原始文章中說的DataBinding或ElementBinding +轉換器。
不是完美的解決方案,但我已經使用了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>
我敢肯定,你可以做的更好的混合使用,複製默認模板,滑塊和滑塊的價值使用TemplateBinding。
順便說一句,如果你沒有使用數據綁定滑塊的值,你可以使用ElementBinding來獲取它的值的元素的酒吧。
您是否需要將磚塊外觀做成整體或者是部分磚塊的好處? – AnthonyWJones