我必须创建一个具有特定给定刻度值的滑块(例如100,304,605,..)。我想以这样一种方式设置滑块的样式,例如从0到100的条形图有颜色,而100-304则是不同的颜色等等。
这是例如我希望实现的目标。
这是我的.xaml代码:
<Slider Style="{StaticResource MyCustomStyleForSlider}" //the style to be applied
Name="MyTimeSlider"
Width="130"
Minimum="0"
Maximum="{Binding MaxTimeFrames}"
Value="{Binding TimeFrame}"
TickPlacement="BottomRight"
TickFrequency="1"
IsMoveToPointEnabled="True"
Margin="1,4,1,1"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
答案 0 :(得分:1)
将子类Slider
添加一个依赖项属性,该属性提供要使用的颜色或画笔列表。在课堂上,只要LinearGradient
属性(提供区分区域的刻度列表)发生变化,我就会重新计算Background
Ticks
。要使硬切割在与前一个渐变停止相同的偏移处添加不同的颜色,应该相当简单。
答案 1 :(得分:1)
如果您只想覆盖常规滑块模板,那么它非常冗长,但这里有一个示例:http://pastebin.com/XVuRLuWp(此处要粘贴的代码很长)。
为了更改x:Key="HorizontalSliderTrackNormalBackground"
的背景焦点。我已经让它显示了几种不同的颜色。