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

.NET MAUI:如何设置CollectionView展开显示而非滚动?

解决.NET MAUI CollectionView在iOS上自动滚动的问题

要让CollectionView根据项数自动展开显示、无需滚动,可通过以下MAUI自带配置解决,并非由操作系统强制决定:

  • 设置ItemSizingStrategy为MeasureAllItems
    这是核心配置,让CollectionView测量所有项的高度并自动调整自身总高度,而非仅测量可见项。在XAML的LinearItemsLayout中添加该设置:

    <CollectionView.ItemsLayout>
        <LinearItemsLayout Orientation="Vertical"
                           ItemSizingStrategy="MeasureAllItems" />
    </CollectionView.ItemsLayout>
    
  • 避免嵌套ScrollView
    如果CollectionView被放在ScrollView内部,iOS会出现滚动冲突,导致CollectionView自动滚动或高度计算异常。移除外层ScrollView,让CollectionView直接作为布局容器的子元素。

  • 配置正确的布局选项
    给CollectionView设置VerticalOptions="FillAndExpand",同时确保父容器的布局约束允许其充分展开(比如Grid所在行设为Auto或*,StackLayout无需额外固定高度):

    <CollectionView ItemsSource="{Binding YourIntegerList}"
                    VerticalOptions="FillAndExpand">
        <!-- 项模板及其他配置 -->
    </CollectionView>
    
  • 不设置固定HeightRequest
    不要给CollectionView设置固定高度,让它自动根据所有项的总高度调整自身尺寸。

若仍有问题,检查项模板内的元素布局,确保每个项的高度是可正常测量的(避免给项内元素设置不合理的固定高度导致测量错误)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 10:07:15