我有一个包含分组数据的GridView。默认情况下,数据始终显示为垂直。我希望它滚动水平。我怎么能这样做?
答案 0 :(得分:0)
ItemsPanelTemplate
是确定项目布局的那个。通常ItemsWrapGrid
用于GridView
。该控件具有名为MaximumRowsOrColumns
的属性。将其设置为页面上您想要的最大行数。然后,数据始终采用水平布局。
例如:
<GridView ItemsSource="{Binding Source={StaticResource groupedPersons}}" Margin="0,120,0,0" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Margin="20" Width="300" Height="100" Background="AliceBlue">
<TextBlock Text="{Binding Name}" FontSize="60" FontWeight="Bold" Style="{StaticResource BaseTextBlockStyle}"/>
<TextBlock Text="{Binding Age}" FontSize="42" TextWrapping="NoWrap" Style="{StaticResource BodyTextBlockStyle}" />
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid MaximumRowsOrColumns="3"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.GroupStyle>
<GroupStyle HidesIfEmpty="True">
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Background="LightGray" Margin="0">
<TextBlock Text="{Binding Key}" Foreground="Black" Margin="30" Style="{StaticResource HeaderTextBlockStyle}"/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</GridView.GroupStyle>
</GridView>