Windows 8.1如何自动换行网格项?

 羽星快乐_914_137 发布于 2022-12-20 14:08

我正在构建一个通用应用程序,我的Win8.1应用程序必须显示一个项目网格.通常情况下,网格由3列组成,但在较小的屏幕上,我希望项目包装,以便只有2列(甚至1列).这是我的代码:


    
        
            
        
    
    
        
            
                
                
            
        
    

每当我使应用程序变小时,项目不会自动换行.我尝试通过更改MaximumRowsOrColumns属性来解决这个问题,VisualStateManager但是由于WrapGrid某些原因无法访问我,因此无效.从代码隐藏更改属性也不起作用,因为它再次无法访问WrapGrid.

我想这既WrapGridItemsWrapGrid(有什么区别呢?)和ListViewGridView.没有区别.

有谁知道如何做到这一点?

1 个回答
  • 你不应该做任何事情.它应该根据可用的客户区域进行换行.我唯一能想到它的东西就是你把它放在<GridView> 一个固定宽度的容器或一个容器中,这个容器的大小Auto不会更新Observable Collection以通知Grid重绘/更新它自己.

    例如,这不会包装.

    <Grid >
        <GridView x:Name="myGridView" IsItemClickEnabled="True">
            <GridView.ItemsPanel>
                <ItemsPanelTemplate>
                    <ItemsWrapGrid Orientation="Horizontal" MaximumRowsOrColumns="5"/>
                </ItemsPanelTemplate>
            </GridView.ItemsPanel>
            <GridView.ItemTemplate>
                <!-- DATATEMPLATE -->
            </GridView.ItemTemplate>
         </GridView>
    </Grid>
    

    然而,摆脱Width=1000它,它将包装.

    示例输出3种不同的尺寸

    在此输入图像描述

    2022-12-20 14:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有