因此,我想删除我切换的 ListView 中的项目。我有一个这样的 ListView :
现在我希望当我单击要选择的内容时,它将从 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/