问题
Currently, the WPF slider has some properties that allow defining and viewing a single interval on a slider: SelectionStart, SelectionEnd and IsSelectionRangeEnabled.
By setting these values
<Slider Minimum="0" Maximum="300" Value="150" IsSelectionRangeEnabled="True" SelectionStart="50" SelectionEnd="200"/>
you get the selected interval in the slider, colored in blue, like this:
What I would like to do is to be able to define multiple intervals - e.g. (50-100), (110-130), (170-200) and (210-240), which would look like this:
Any ideas on how to aproach this issue or what template I should try modifying in order to get this feature?
回答1:
this may not be an answer but a workaround. I place slider bar on canvas, then draw to canvas Highlight segments on slider bar
回答2:
Use the Ticks property to set multiple intervals. Im not sure exactly how you wanted it to work from your explaination above, but here is an example.
<Slider Minimum="0" Maximum="300" Value="150"
IsSelectionRangeEnabled="True" SelectionStart="50"
SelectionEnd="200" IsMoveToPointEnabled="True"
TickPlacement="BottomRight" Ticks="50, 100, 105, 140, 150, 200" IsSnapToTickEnabled="True" />
来源:https://stackoverflow.com/questions/10086930/slider-with-multiple-intervals