我正在开发一个UWP应用程序,我希望我的GridView能够以水平模式而不是默认的垂直模式滚动。我有什么方法可以做到吗?
这是我的代码:
<GridView x:Name="HostListView" Grid.Row="2" Height="150" Margin="310,0,0,0"
ItemsSource="{Binding FilteredHosts}" SelectedItem="{Binding SelectedHost, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
SelectionChanged="HostListView_SelectionChanged" IsSwipeEnabled="False">
<GridView.ItemTemplate>
<DataTemplate >
<StackPanel Margin="8" Width="220">
<TextBlock Text="{Binding Name}" Style="{StaticResource TitleTextBlockStyle}"
FontSize="15" TextWrapping="NoWrap"
MaxHeight="40" Foreground="White"/>
<TextBlock Text="{Binding Designation}" Style="{StaticResource CaptionTextBlockStyle}"
TextWrapping="NoWrap" Foreground="White"/>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
答案 0 :(得分:4)
这很简单,只需告诉GridView
使用水平滚动条而不是垂直滚动条。这将启用水平滚动部分。
下一步很可能是确保项目的顺序正确,因为您不希望第4项在屏幕外,而第二行的项目20在视野中,因此它们必须是垂直堆放。您可以通过更改Orientation
。{/ p>的ItemsWrapGrid
属性来执行此操作
<GridView ...
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollMode="Auto"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollMode="Disabled">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid Orientation="Vertical" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
...
</GridView.ItemTemplate>
</GridView>
我的SemanticZoom blog post可以找到更多信息,我也改为水平滚动。