请问下WPF的slider样式要如何才能改成下面这样。。。求助下。。。还是说使用其他控件才能做出这种。。。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问下WPF的slider样式要如何才能改成下面这样。。。求助下。。。还是说使用其他控件才能做出这种。。。相关的知识,希望对你有一定的参考价值。
请问下WPF的slider样式要如何才能改成下面这样。。。求助下。。。
还是说使用其他控件才能做出这种。。。跪地先谢谢了
在epression blend中试了下,slider好像好难更改样式。。。
可以的,就用blend该样式就可以。 ??不为什么不显示图片??
但是有点不一样的就是,你在拖动之后的左侧是灰色,这个我知道用绑定依赖属性可以,但是需要在后台来写了。其他方法就不知道了。
或者你重写slider这个类。
<Style x:Key="SliderRepeatButtonStyle" TargetType="x:Type RepeatButton">
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="IsTabStop" Value="false"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="x:Type RepeatButton">
<Rectangle Fill="Transparent"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="HorizontalSliderThumbStyle" TargetType="x:Type Thumb">
<Setter Property="Focusable" Value="false"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Height" Value="10"/>
<Setter Property="Width" Value="10"/>
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="x:Type Thumb">
<Ellipse Fill="#FFAED1ED" Stroke="#FF5E5D5D" StrokeThickness="0.8" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SliderStyle" TargetType="x:Type Slider">
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="#FFC4C4C4"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="x:Type Slider">
<Border BorderBrush="TemplateBinding BorderBrush" BorderThickness="TemplateBinding BorderThickness" Background="TemplateBinding Background" SnapsToDevicePixels="true">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" MinHeight="TemplateBinding MinHeight"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TickBar x:Name="TopTick" Fill="TemplateBinding Foreground" Height="4" Placement="Top" Grid.Row="0" Visibility="Collapsed"/>
<TickBar x:Name="BottomTick" Fill="TemplateBinding Foreground" Height="4" Placement="Bottom" Grid.Row="2" Visibility="Collapsed"/>
<Border x:Name="TrackBackground" CornerRadius="1" Height="5.0" Margin="5,0" Grid.Row="1" VerticalAlignment="center">
<Grid>
<Border Background="#FFF7F4F4" CornerRadius="0.5" Opacity="0.215"/>
<Border Background="#FF132E50" CornerRadius="0.5" Margin="0,0,0.3,0.3" Opacity="0.715"/>
</Grid>
</Border>
<Track x:Name="PART_Track" Grid.Row="1">
<Track.DecreaseRepeatButton>
<RepeatButton Command="x:Static Slider.DecreaseLarge" Style="StaticResource SliderRepeatButtonStyle"/>
</Track.DecreaseRepeatButton>
<Track.IncreaseRepeatButton>
<RepeatButton Command="x:Static Slider.IncreaseLarge" Style="StaticResource SliderRepeatButtonStyle"/>
</Track.IncreaseRepeatButton>
<Track.Thumb>
<Thumb x:Name="Thumb" Style="StaticResource HorizontalSliderThumbStyle"/>
</Track.Thumb>
</Track>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
追问。。。其实我是初学者,我有点不清楚上面这段代码是要放到哪里
不过很感谢你啦~看你的截图觉得应该是可以用的
补充下:啊 我懂了 谢谢啦~
以上是关于请问下WPF的slider样式要如何才能改成下面这样。。。求助下。。。还是说使用其他控件才能做出这种。。。的主要内容,如果未能解决你的问题,请参考以下文章