C# - Xamarin 表单在切换时删除 ListView 项

标签 c# android listview xamarin.forms

因此,我想删除我切换的 ListView 中的项目。我有一个这样的 ListView :

Result

现在我希望当我单击要选择的内容时,它将从 ListView 中删除,但用户必须首先弹出提示,其中说明用户是否真的确定该项目是否可以删除.

这是我现在的代码:

private async void Switch_Toggled(object sender, ToggledEventArgs e)
        {
            Tasks task = (sender as Switch).BindingContext as Tasks;
            await ApiManager.UpdateTasksFromListAsync(task);
        }

这只是更新 API 上的一个值。但是我怎样才能从 ListView 中删除/隐藏它呢?

这是 xaml 代码:

<ListView x:Name="lvwDetailPage" SeparatorVisibility="None">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="70" />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                        </Grid.RowDefinitions>

                        <Switch IsToggled="{Binding completed}" Grid.Column="0" Toggled="Switch_Toggled" />
                        <Label Grid.Column="1" Text="{Binding title}" TextColor="#212121" VerticalOptions="Center" Margin="10,0" />

                    </Grid>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

最佳答案

    ObservableCollection<Tasks> TaskList;

    private async Task GetData(long id)
    {
        List<Tasks> tasks = await ApiManager.GetTasksFromListAsync(id);

        TaskList = new ObservableCollection<Tasks>(tasks);

        lvwDetailPage.ItemsSource = TaskList;

        lvwDetailPage.ItemSelected += LvwDetailPage_ItemSelected;
    }

    private async void Switch_Toggled(object sender, ToggledEventArgs e)
    {
        Tasks task = (sender as Switch).BindingContext as Tasks;

        if (task != null)
        {
            await ApiManager.UpdateTasksFromListAsync(task);
            TaskList.Remove(task);
        }          
    }

关于C# - Xamarin 表单在切换时删除 ListView 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47439650/

相关文章:

javascript - onserverclick 事件在 C# 中使用 html 生成器不起作用

c# - 迭代注册表,寻找值

android - 如何使用Kotlin的自定义适配器为 ListView 设置onItemClickListener

java - 如何从另一个 View 通知android ListView?

c# - 使用 LINQ 获取多维数组的分区(N 维数组的 (N-1) 维实例)

c# - ASP.NET Core 将子域映射到区域

android - 比 Lollipop 更旧的 API 超过了 64k 限制,但不是更新的

安卓 : How to write text to specific area in an image

安卓开发 : Logcat in Eclipse - can't restrict output to V/D/I/E?

c++ - 从 C++ 更改 QML Listview 委托(delegate)