WPF, лентата за превъртане Палецът се показва назад

Следвах урок за създаване на шаблон за лента за превъртане от този сайт: http://sachabarber.net/?p=122

Но по някаква причина контролата на палеца е назад, когато съдържанието на scrollviewer е в горната част, палецът е в долната част, когато щракна върху долния бутон за повторение, съдържанието в scrollviewer се превърта правилно, но палецът отива в посока нагоре . и обратно, когато щракна върху горния бутон за повторение, палецът пада надолу.

Не съм сигурен какво направих, за да го накарам да направи това... Когато премахна контролния шаблон, който създадох, той се връща към стила по подразбиране и палецът е правилно поставен.

По-долу е кодът за контролния шаблон. Имам този шаблон, свързан с контрола на лентата за превъртане и всичко се показва добре, с изключение на палеца.

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

Всяка помощ ще бъде високо оценена


person kdub    schedule 01.08.2011    source източник
comment
Какво ще кажете за ‹Track Grid.Row=1 IsDirectionReversed=true›?   -  person Dave Clemmer    schedule 02.08.2011


Отговори (1)


Трябва да зададете IsDirectionReversed на true на Track, което правят шаблоните по подразбиране.

person Julien Lebosquain    schedule 01.08.2011