Slider模板定义

来源:互联网 发布:爱情动作片软件 编辑:程序博客网 时间:2024/06/05 02:24
Slider里面有一个Track,Track由Thumb(滑块)、RepeatButton(左右两边的按钮)组成。

1)首先先把左右两个Button隐藏掉
 <Style TargetType="{x:Type RepeatButton}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Rectangle Fill="Transparent"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

2)然后定义Thumb的样式
<Style TargetType="{x:Type Thumb}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Ellipse Width="10" Height="20" Fill="Black"></Ellipse>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

3)最后定义Silder的样式(让Slider垂直的做法是设置属性Orientation="Vertical" )
<Style TargetType="{x:Type Slider}">
            <Setter Property="Maximum" Value="255" />
            <Setter Property="Minimum" Value="0" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>                      
                        <Grid>
                            <Border BorderBrush="Black" Background="Gray" Margin="0,7" CornerRadius="3"/>
                            <Track  x:Name="PART_Track">
                                <Track.IncreaseRepeatButton>
                                    <RepeatButton Command="{x:Static Slider.IncreaseLarge}"/>
                                </Track.IncreaseRepeatButton>
                                <Track.DecreaseRepeatButton>
                                    <RepeatButton Command="{x:Static Slider.DecreaseLarge}"/>
                                </Track.DecreaseRepeatButton>
                                <Track.Thumb>
                                    <Thumb />
                                </Track.Thumb>
                            </Track>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

       这里要注意一件事,track一定要设置名字,不然滑块就不能滑动了,为啥我就不知道了。Track里面只有三个东西,分别是IncreaseRepeatButton、DecreaseRepeatButton、Thumb,所以把这三个重写一遍就ok了。效果如下:

Slider模板定义 - soolazy - 羽翼半张
 
0 0