You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Maui Windows端CollectionView无法显示全部数据

.NET Maui Windows平台CollectionView最后几项缺失问题修复

针对你在Windows平台使用CollectionView时遇到的最后几项数据缺失、添加Padding可部分显示的问题,结合你的XAML代码,给出以下修复方案:

核心问题分析

  1. 行索引错误:你将第二个CollectionView的Grid.Row设为5,但父Grid的RowDefinitions仅定义了5行(索引0-4),超出的行索引会导致布局空间分配异常,这是Windows平台内容截断的主要原因。
  2. Windows布局测量特性:Windows平台对控件高度的计算精度要求更高,当Item内的控件布局过于紧凑时,容易出现高度计算偏差,导致部分Item无法正常渲染。

具体修复步骤

1. 修正CollectionView的Grid行索引

将第二个CollectionView的Grid.Row从5改为4,对应父Grid中定义的最后一行(*行高):

<CollectionView
    Grid.Row="4"
    ItemsSource="{Binding BookList}"
    VerticalScrollBarVisibility="Never"
    VerticalOptions="Fill">

2. 确保CollectionView占满分配空间

给CollectionView添加VerticalOptions="Fill",让它充分利用父Grid分配的剩余空间,避免因空间不足导致内容截断。

3. 优化ItemTemplate内的布局(可选但推荐)

给Item内的Grid添加最小高度或内边距,帮助Windows平台正确计算Item高度,避免因布局紧凑导致的测量偏差:

<DataTemplate x:DataType="library:Book">
    <Grid ColumnDefinitions="Auto,*,Auto" MinHeightRequest="40" Padding="0,8">
        <Label
            Grid.Column="0"
            HorizontalOptions="Start"
            Text="{Binding Title}" />
        <Label
            Grid.Column="2"
            HorizontalOptions="End"
            Text="{Binding ReturnDate}" />
    </Grid>
</DataTemplate>

为什么Android平台正常

Android的布局测量机制对行索引错误和高度计算偏差的容错性更强,即使存在行索引超出的情况,仍能尝试合理分配空间,因此未出现内容缺失问题。

内容的提问来源于stack exchange,提问作者user3017691

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:56:02