WPF,滚动条拇指向后显示

标签 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>

任何帮助将不胜感激

最佳答案

您必须设置 IsDirectionReversedTrack 上设置为 true,这是默认模板所做的。

关于WPF,滚动条拇指向后显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6905230/

相关文章:

javascript - 滚动时页面的高度

c# - XAML 将 Rectange.Fill SolidColorBrush 绑定(bind)到 Color 属性

c# - WCF 到 WPF - 数据契约到模型

WPF SoundPlayer 多声道声音?

wpf - 如何实现滚动内容但静态轴(如excel)

c# - 更新元素时​​的 WPF 性能

c# - 将参数传递给自定义模板

wpf - scrollviewer 属性 'content' 设置不止一次

jquery - 获得很大的空白间隙

css - 窗口最小化的 Firefox 12 中没有水平滚动条