加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:46:15 所属栏目:百科 来源:网络整理
导读:我正在c#开发一个WinRT应用程序,我正在使用GridView来呈现我的项目. 我想让我的项目水平排列,然后(达到最大宽度)下一个项目应该添加到新行(简单地说:只有垂直滚动条可以看到). 不幸的是,我当前的xaml只能在一行中添加水平的项目(带有一个水平滚动条) GridVi
我正在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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读