locked
Скроллинг GridView не работает RRS feed

  • Вопрос

  • Добрый день, коллеги,

    делаю свое первое приложение по книгам, сделал GridView с внутренними панелями для итемов и групп, создал коллекцию групп и объектов внутри групп, при запуске приложения те элементы, которые не влезают в экран, просто отрезаются или показываются частично, должен скролл сработать, но его нет

    <GridView x:Name="gvMain"  Grid.Row="1" Padding="116, 37, 40, 46" IsItemClickEnabled="True" ItemClick="ItemView_ItemClick" SelectionMode="None" ItemsSource="{Binding Source={StaticResource cvsMain}}">
                    <GridView.ItemTemplate>
                        <DataTemplate>
                            <Grid HorizontalAlignment="Left">
                                <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
                                    <Image Source="{Binding Image}" Stretch="None"/>
                                </Border>
                                <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
                                    <TextBlock Text="{Binding Name}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Margin="15,5,15,5"/>                            
                                </StackPanel>
                            </Grid>
                        </DataTemplate>
                    </GridView.ItemTemplate>
                    <!--Определяем панель для групп-->
                    <GridView.ItemsPanel>
                        <ItemsPanelTemplate>
                            <VirtualizingStackPanel Orientation="Horizontal"/>
                        </ItemsPanelTemplate>
                    </GridView.ItemsPanel>
                    <!--Определяем стиль-->
                    <GridView.GroupStyle>
                        <GroupStyle>
                            <!--Определяем формат заголовков групп-->
                            <GroupStyle.HeaderTemplate>
                                <DataTemplate>
                                    <Grid Margin="1,0,0,6">
                                        <Button Style="{StaticResource TextPrimaryButtonStyle}" >
                                            <StackPanel Orientation="Horizontal">
                                                <TextBlock Text="{Binding GroupName}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
                                                <TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>
                                            </StackPanel>
                                        </Button>
                                    </Grid>
                                </DataTemplate>
                            </GroupStyle.HeaderTemplate>
                            <!--Формат панели для элементов в группах-->
                            <GroupStyle.Panel>
                                <ItemsPanelTemplate>
                                    <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0" ItemWidth="180" ItemHeight="160" MaximumRowsOrColumns="3"/>
                                    <!--Доп. параметры -->
                                </ItemsPanelTemplate>
                            </GroupStyle.Panel>  
                        </GroupStyle>
                    </GridView.GroupStyle>
                </GridView>

    27 апреля 2013 г. 14:28

Ответы

  • я разобрался в чем дело, помешал grid.columndefinition, удалив его у всей страницы, скроллинг стал работать)
    • Помечено в качестве ответа Andev 29 апреля 2013 г. 18:22
    29 апреля 2013 г. 18:22

Все ответы

  • Здравствуйте!

    Допишите в xaml разметке вот так:

    <GridView ScrollViewer.HorizontalScrollBarVisibility="Disabled">

    Должно помочь :)


    данный параметр судя по названию только видимость скроллбара отключает, но сам скроллинг не работает, элементы спрятались за экраном
    28 апреля 2013 г. 7:23
  • Обычно в таких случаях советуют посмотреть примеры с SemanticZoom. Может поможет.


    Спасибо

    28 апреля 2013 г. 15:42
  • Обычно в таких случаях советуют посмотреть примеры с SemanticZoom. Может поможет.


    Спасибо

    не совсем понимаю как это связано с SemanticZoom :(  он ведь просто работает с двумя гридвью
    29 апреля 2013 г. 16:27
  • я разобрался в чем дело, помешал grid.columndefinition, удалив его у всей страницы, скроллинг стал работать)
    • Помечено в качестве ответа Andev 29 апреля 2013 г. 18:22
    29 апреля 2013 г. 18:22