RepeatButton не прокручивает список

У меня есть ListBox внутри ScrollViewer и хочу прокрутить его, когда пользователь нажимает пользовательскую RepeatButton. Проблема в том, что RepeatButton работает только тогда, когда HorizontalScrollBarVisibility скрыт, но это вызывает другую проблему: после прокрутки списка и выбора одного элемента, он сразу же переходит к первому элементу и показывает его. Итак, я отключил его и просто использую ScrollViewer.HorizontScrollBarVisibility="Hidden" из ListBox. Как я могу работать с этими кнопками Repeat?

Вот код:

                    <ScrollViewer Width="582.5" x:Name="scrollViewer"  HorizontalAlignment="Center" Background="Transparent" VerticalAlignment="Bottom"  VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Disabled" >
                    <ListBox x:Name="listBox" SelectionMode="Single"   Visibility="Visible" IsEnabled="True" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Hidden"  HorizontalAlignment="Center" Background="Transparent" BorderBrush="Transparent" SelectionChanged="listBox_SelectionChanged"  ItemsSource="{Binding Source={StaticResource TypeTable}}" HorizontalContentAlignment="Center" RenderTransformOrigin="0.5,0.5" Padding="0,0,0,90"  >
                        <ListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel Orientation="Horizontal" />
                            </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <StackPanel x:Name="stackPanel2" CanHorizontallyScroll="True" Orientation="Horizontal" HorizontalAlignment="Right" Height="180" Width="180" >
                                    <Image Margin="3" Source="{Binding pic_path}" RenderOptions.BitmapScalingMode="Fant" RenderOptions.EdgeMode="Aliased"/>
                                    <TextBox Margin="3" Text="{Binding name}" Visibility="Visible"/>

                                </StackPanel>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>
                </ScrollViewer>

                <!--arrow keys-->

                <RepeatButton x:Name="RepeatButton3" Visibility="Hidden" Background="Blue" IsEnabled="False" Height="180"  Width="80"  Margin="700,1070,0,0"  Command="{x:Static ScrollBar.LineRightCommand}" CommandTarget="{Binding ElementName=listBox}" ClickMode="Press">
                    <RepeatButton.Template>
                        <ControlTemplate>
                            <DockPanel>
                                <Image Opacity="0.9" Source="images\icons\lowerMenuRight.png" />
                                <ContentPresenter />
                            </DockPanel>
                        </ControlTemplate>
                    </RepeatButton.Template>
                </RepeatButton>
                <RepeatButton x:Name="RepeatButton4" Visibility="Hidden" Background="Blue" IsEnabled="False" Height="180"  Width="80"  Margin="0,1070,700,0" Command="{x:Static ScrollBar.LineLeftCommand}" CommandTarget="{Binding ElementName=listBox}" ClickMode="Press">
                    <RepeatButton.Template>
                        <ControlTemplate>
                            <DockPanel>
                                <Image Opacity="0.9" Source="images\icons\lowerMenuLeft.png" />
                                <ContentPresenter />
                            </DockPanel>
                        </ControlTemplate>
                    </RepeatButton.Template>
                </RepeatButton>

0 ответов

Другие вопросы по тегам