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

Xamarin分组ListView无法滚动问题求助

解决分组ListView无法滚动的问题

嘿,我一眼就揪出问题所在啦!你在ListView的XAML代码里设置了IsEnabled="False"——这个属性会完全禁用ListView的所有交互功能,包括滚动操作!这就是为什么你的分组列表没法滚动,而其他普通ListView能正常工作的核心原因。

第一步:修改IsEnabled属性

把ListView的IsEnabled="False"移除,或者改成IsEnabled="True",修改后的ListView代码如下:

<ListView HasUnevenRows="True" SeparatorColor="Accent" VerticalOptions="FillAndExpand" IsEnabled="True" IsGroupingEnabled="True" GroupDisplayBinding="{Binding Key}" ItemsSource="{Binding ScansGroup}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <StackLayout Spacing="4">
                    <StackLayout Orientation="Horizontal" Margin="10,7,10,1">
                        <Label Text="{Binding Location, StringFormat='{0}'}" FontAttributes="Bold" FontSize="16" />
                        <Label Text="{Binding DateTime, StringFormat='{0:dd/MM/y HH:mm}'}" HorizontalOptions="EndAndExpand" />
                    </StackLayout>
                    <StackLayout Orientation="Horizontal">
                        <Label Text="{Binding ElapsedTimeOnLocation}" HorizontalOptions="Start" Margin="10,0,10,7" />
                    </StackLayout>
                </StackLayout>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

其他需要确认的点(如果修改后仍有问题)

  • 确保外层StackLayout没有限制ListView的可用高度:你的外层StackLayout已经是Vertical方向,且ListView设置了VerticalOptions="FillAndExpand",这部分是正确的,它会让ListView占据页面中除两个Label之外的所有剩余空间。
  • 验证分组数据源的内容:虽然你说分组显示正常,但可以确认每个分组里的条目数量足够多,确实需要滚动(如果列表内容本来就没超出屏幕,自然不会触发滚动)。
  • 检查是否有隐藏的布局冲突:比如有没有不小心嵌套了ScrollView(你已经说明没有,这条可以忽略,但如果后续出现类似问题可以排查)。

修改完IsEnabled属性后,再在模拟器和实体机上测试,滚动功能应该就能正常工作了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:27:52