c# – 在WinRT中包装的GridView方向

前端之家收集整理的这篇文章主要介绍了c# – 在WinRT中包装的GridView方向前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在c#开发一个WinRT应用程序,我正在使用GridView来呈现我的项目.

我想让我的项目水平排列,然后(达到最大宽度)下一个项目应该添加到新行(简单地说:只有垂直滚动条可以看到).

不幸的是,我当前的xaml只能在一行中添加水平的项目(带有一个水平滚动条)

<GridView x:Name="GridChildItem" 
                  ItemContainerStyle="{StaticResource NonTickGridViewItem}" 
                  VerticalContentAlignment="Stretch" 
                  ItemTemplate="{StaticResource CustomChildItemTemplete}"
                  SelectionMode="Single" 
                  IsItemClickEnabled="True" 
                  ItemClick="gridViewChild_ItemClick_1"
                  Margin="0,40,0" 
                  Height="Auto"
                  Background="{StaticResource DropDownMenuBackColor}" 
                  ScrollViewer.IsHorizontalScrollChainingEnabled="False"
                  ScrollViewer.IsVerticalScrollChainingEnabled ="True"
                  VerticalAlignment="Top">
            <GridView.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal" Margin="20,0" />
                </ItemsPanelTemplate>

           </GridView.ItemsPanel>
 </GridView>

解决方法

如果您不想允许水平滚动,则需要使用ListView而不是GridView,

From MSDN:

Use a ListView to display a collection of data that scrolls
vertically. To display a collection that scrolls horizontally,use a
GridView.

但是,如果要保持包装行为,则需要使用WrapGrid作为ItemsPanel:

<ListView>
     <ListView.ItemsPanel>
          <ItemsPanelTemplate>
                <WrapGrid Orientation="Horizontal" />
           </ItemsPanelTemplate>
     </ListView.ItemsPanel>
</ListView>

猜你在找的C#相关文章