WPF,滚动条Thumb向后显示

时间:2011-08-01 22:26:10

标签: wpf xaml scrollbar controltemplate

我按照教程从此网站创建滚动条模板:http://sachabarber.net/?p=122

但有些原因,Thumb控件是向后的,当滚动查看器的内容位于顶部时,拇指位于底部,当我单击底部重复按钮时,滚动查看器中的内容正确滚动,但是拇指进入向上的方向。反之亦然,当我点击顶部重复按钮时,拇指会下降。

我不知道我做了什么让它做到这一点...当我删除我创建的控件模板时,它会回到默认样式并且拇指正确放置。

以下是控件模板的代码。我有这个参考Scrollbar控件的模板,除拇指外,一切都很好。

<ControlTemplate x:Key="kd_VertScrollBar" TargetType="{x:Type ScrollBar}">
                <Grid Width="15">
                    <Grid.RowDefinitions>
                        <RowDefinition MaxHeight="25"/>
                        <RowDefinition Height=".00001*"/>
                        <RowDefinition MaxHeight="25"/>
                    </Grid.RowDefinitions>

                    <Border Grid.RowSpan="3" CornerRadius="2" Background="#CCCCCCCC" /> 

                    <RepeatButton Grid.Row="0"
                        Background="Aqua"
                        Height="25"
                        ContentTemplate="{StaticResource RepeatButtonImage}"
                        Command="ScrollBar.LineUpCommand" />

                    <Track Grid.Row="1">
                        <Track.DecreaseRepeatButton>
                            <RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageUpCommand" />
                        </Track.DecreaseRepeatButton>

                        <Track.Thumb>
                            <Thumb Style="{StaticResource ScrollBarThumb}" Background="Blue" BorderBrush="Black" />
                        </Track.Thumb>

                        <Track.IncreaseRepeatButton>
                            <RepeatButton Style="{StaticResource ScrollBarPageButton}" Command="ScrollBar.PageDownCommand" />
                        </Track.IncreaseRepeatButton>
                    </Track>

                    <RepeatButton x:Name="ToBottom" Grid.Row="2"
                        Background="Aqua"
                        Height="25"
                        ContentTemplate="{StaticResource RepeatButtonImage}"
                        Command="ScrollBar.LineDownCommand" />

                </Grid>
            </ControlTemplate>

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

您必须在true上将IsDirectionReversed设置为Track,这是默认模板的作用。