2017-10-10 178 views
1

我正在開發一個UWP應用程序,我希望讓我的GridView以水平模式而不是默認垂直模式滾動。有什麼辦法可以做到嗎?GridView水平滾動(UWP)

這裏是我的代碼:

<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

你想要多少行?單個或多個 –

回答

1

這是非常簡單的,只需告訴GridView使用水平滾動條,而不是垂直的。這將啓用水平滾動部分。

下一步很可能確保物品按正確順序排列,因爲您不希望物品4脫離屏幕,而第二行的物品20處於視圖中,因此他們必須垂直堆疊。您可以通過更改ItemsWrapGridOrientation屬性來執行此操作。

enter image description here

<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,我改變了水平滾動也被發現。