分组集合视图在 iOS 上显示空组

问题描述 投票:0回答:0

我有一个 MAUI 应用程序,其视图绑定到包含分组

CollectionView
的视图模型,这些属性集:

        <CollectionView
           x:Name="MyList"
           VerticalOptions="FillAndExpand"
           ItemsSource="{Binding CollectionViewItemSourceGrouped}"
           SelectionMode="Single"                   
           SelectedItem="{Binding MyItem, Mode=TwoWay}"
           SelectionChangedCommand="{Binding MySelectionCommand}"
           RemainingItemsThreshold="2"
           RemainingItemsThresholdReachedCommand="{Binding LoadMoreItemsCommand}"
           IsGrouped="True"
           EmptyView="No item found.">

我从可等待的 Web api 获取源项目并将其分组,当我第一次导航到视图时,如果我开始来回切换过滤列表的开关,我会正确地对集合进行分组。不幸的是,当我导航到详细信息页面并通过 Shell 导航返回到集合时,如果我再次按下开关并重新加载列表,我总是会得到一些空组,并且它在图形上会导致一团糟。 用作集合源的对象是

CollectionViewItemSourceGrouped
,它是一个具有以下实现的
ObservableCollection<ItemsGroup>

public class ItemsGroup : ObservableRangeCollection<ItemModel>
{
    public DateTime Date { get; private set; }

    public ItemsGroup(DateTime date, ObservableRangeCollection<ItemModel> list) : base(list)
    {
        Date = date;
    }
}

每次我重新加载数据时,我确保对象

CollectionViewItemSourceGrouped
被设置为
null
或者是一个新的空对象。我希望该集合是空的,而这会继续显示只有标题集的空组。我怎样才能摆脱它们并让收藏正确刷新?

这只发生在 iOS 和 MacCatalyst 上。它在 Android 和 WinUI 上运行良好。

ios maui observablecollection mac-catalyst grouped-list
© www.soinside.com 2019 - 2024. All rights reserved.