如何实现CollectionView每行展示4张图片?
实现CollectionView每行显示4张图片的解决方案
你当前代码里的GridItemsLayout设置了Orientation="Horizontal",这会让所有图片横向排列在同一行并支持横向滚动。要实现每行固定4张图的效果,只需调整GridItemsLayout的配置,同时优化图片布局:
修改后的完整代码
<CollectionView x:Name="galleryListView" ItemsSource="{Binding gallerylist}" WidthRequest="500"> <CollectionView.ItemsLayout> <!-- 配置纵向网格,指定每行4列 --> <GridItemsLayout Orientation="Vertical" Span="4"/> </CollectionView.ItemsLayout> <CollectionView.ItemTemplate> <DataTemplate> <!-- 用Grid控制图片间距与尺寸,避免布局错乱 --> <Grid WidthRequest="100" HeightRequest="100" Padding="2"> <Image Source="{Binding Image}" WidthRequest="96" HeightRequest="96" Aspect="AspectFill"/> </Grid> </DataTemplate> </CollectionView.ItemTemplate> </CollectionView>
核心修改说明
- 将
GridItemsLayout的Orientation改为Vertical,让网格按行纵向排列 - 添加
Span="4"属性,明确指定每行显示4个项目 - 用
Grid替代StackLayout,配合Padding控制图片间的间距,同时给Image设置固定尺寸和Aspect="AspectFill",保证图片显示规整不变形
内容的提问来源于stack exchange,提问作者RudyChemik
相关产品推荐
相关产品推荐

