Логическая прокрутка больше не работает при применении элемента управления - PullRequest
0 голосов
/ 18 марта 2012

При применении itemsControl я обнаружил, что логическая прокрутка (canContentScroll="true") больше не работает.

При логической прокрутке я имею в виду просмотр элемента на элемент, например, при нажатии 2 кнопок навигации, которые перемещают scrollviewer.

Содержимое itemControl выглядит следующим образом:

  <Grid Height="70" Width="900">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition x:Name="LeftScrollRow2" Width="Auto"/>
                    <ColumnDefinition x:Name="HorizontalContentRow2" Width="*"/>
                    <ColumnDefinition x:Name="RightScrollRow2" Width="Auto"/>
                </Grid.ColumnDefinitions>
                <RepeatButton Content="left" x:Name="btnLeft" Grid.Column="0" Style="{DynamicResource RepeatButtonStyleLeft}" Click="btnLeft_Click"></RepeatButton>
                <ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Hidden" x:Name="sv" CanContentScroll="True" Margin="0" Height="73" >
                    <ListBox  x:Name="list1" ItemsSource="{Binding Reg, ElementName=Window}" Background="{x:Null}" BorderBrush="{x:Null}">
                        <ListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel Orientation="Horizontal"></StackPanel>
                            </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <Button x:Name="TestButton" HorizontalAlignment="Center" Height="71" Width="151" 
                            Margin="5,0,10,0" Style="{DynamicResource ButtonStyleTest}" 
                            Click="TestButton_Click"/>
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ListBox>
                </ScrollViewer>
                <RepeatButton Content="right" x:Name="btnRight" Grid.Column="2" Style="{DynamicResource RepeatButtonStyleRight}" Click="btnRight_Click"></RepeatButton>
            </Grid>

При перемещении по элементам, которые загружаются в панель стека (кнопки), появляется только прокрутка, и медленно отображается содержимое.

Возможным решением этой проблемы было бы использование HorizontalOffSet, но это включало бы предоставление точного расстояния, которое, я думаю, не было бы хорошим решением вообще.

Заранее спасибо, Jackz

1 Ответ

0 голосов
/ 19 марта 2012

Я бы поступил по-другому.

Я бы добавил полосу прокрутки в стиле.Прочтите это и посмотрите примечание в разделе «Полоса прокрутки».http://www.wpfsharp.com/2012/03/18/itemscontrol-vs-listbox-vs-listview-in-wpf/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...