WPF滑块设计

WPF滑块设计,wpf,xaml,Wpf,Xaml,我想用这样的滑块 我希望滑块根据提供给它的值进行相应调整。 到目前为止,我只能应用梯度效果的背景,但不能得到这种效果。请通过提供样式代码来帮助我 <Slider> <Slider.Background> <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5"> <GradientStop Color="Red" Offset="0"/>

我想用这样的滑块

我希望滑块根据提供给它的值进行相应调整。 到目前为止,我只能应用梯度效果的背景,但不能得到这种效果。请通过提供样式代码来帮助我

<Slider>
   <Slider.Background>
      <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
         <GradientStop Color="Red" Offset="0"/>
         <GradientStop x:Name="WhiteOffset" Color="Yellow" Offset="0.5"/>
         <GradientStop x:Name="GrayOffset" Color="Red" Offset="1"/>
      </LinearGradientBrush> 
   </Slider.Background>
</Slider>


谢谢。

有关您需要的自定义句柄,请参阅

对于背景,您可以使用三个
LineaGradientBrush
es layerd来实现此效果。第一个用于红-黄-绿gadient,第二个用于白线(渐变停止透明和白色,
SpreadMethod
设置为
Repeat
),第三个用于光泽效果)


上述背景如下所示:


我遇到了一个类似的问题,我希望我的酒吧的轨迹是渐变的。您可以覆盖默认的
SystemColors.HighlightBrushKey
资源来更改选择区域的颜色

<Slider Name="WPF Gradient Slider Bar" Margin="5px" Minimum="0" Maximum="100"
        IsSelectionRangeEnabled="True" 
        SelectionStart="0" SelectionEnd="100">
        <Slider.Resources>
             <LinearGradientBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" EndPoint="1,0.5" StartPoint="0,0.5">
                      <GradientStop Color="Blue" Offset="1"/>
                      <GradientStop Color="Cyan" Offset="0.75"/>
                      <GradientStop Color="Green" Offset="0.5"/>
                      <GradientStop Color="Yellow" Offset="0.25"/>
                      <GradientStop Color="Red" Offset="0"/>
              </LinearGradientBrush>
         </Slider.Resources>
</Slider>

结果:


发布整个元素和相关资源如何?
标签在哪里?就像上面的
写一个完整的代码一样question@BenjaminPaul这是一个完整的问题,我不知道滑块的样式,所以我需要的样式可以帮助我获得上面的滑块图片如何用新信息编辑问题…拇指呢?这个控件只改变背景,而不是滑块区域。正如我提到的,您必须学习编写自定义控件模板(覆盖
滑块
控件的默认控件模板)。遵循我发布的两个链接。
<Slider Name="WPF Gradient Slider Bar" Margin="5px" Minimum="0" Maximum="100"
        IsSelectionRangeEnabled="True" 
        SelectionStart="0" SelectionEnd="100">
        <Slider.Resources>
             <LinearGradientBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" EndPoint="1,0.5" StartPoint="0,0.5">
                      <GradientStop Color="Blue" Offset="1"/>
                      <GradientStop Color="Cyan" Offset="0.75"/>
                      <GradientStop Color="Green" Offset="0.5"/>
                      <GradientStop Color="Yellow" Offset="0.25"/>
                      <GradientStop Color="Red" Offset="0"/>
              </LinearGradientBrush>
         </Slider.Resources>
</Slider>