如何动态更新 .net maui 中的集合视图?

Jak*_*ake 3 .net c# maui

我有一个正在使用的测试应用程序,并且正在使用 sqlite DB 填充集合视图。但是,每当我使用滑动视图从数据库中删除项目时,它都可以正常工作,但视图永远不会从集合视图中删除项目,除非重新加载整个视图。我尝试了一些不同的方法,但没有任何效果,有什么建议吗?OnAppearing 生命周期会导致任何问题吗?

 <Grid BackgroundColor="White">
        <StackLayout Margin="20">
            <CollectionView x:Name="data"
                            SelectionMode="Single"
                            SelectionChanged="ItemSelected"
                            HeightRequest="750"
                            VerticalScrollBarVisibility="Never">

protected override async void OnAppearing()
    {
        base.OnAppearing();
        TodoItemDatabase database = await TodoItemDatabase.Instance;
        data.ItemsSource = await database.GetItemsAsync();
    }
Run Code Online (Sandbox Code Playgroud)

Jas*_*son 7

来自文档

如果在基础集合中添加、删除或更改项目时需要刷新 CollectionView,则基础集合应该是发送属性更改通知的 IEnumerable 集合,例如 ObservableCollection。