[英]C# - Xamarin forms remove listview item on toggle
So, I want to remove the item in my listview that I toggled. 因此,我想在切换的列表视图中删除该项目。 I have a listview like this:
我有这样的列表视图:
Now I want that when I click something to be selected, that it will be removed from the listview, but the users must have a pop-up prompted first in which states if the user is really sure if the item can be deleted. 现在,我希望在单击要选择的内容时将其从列表视图中删除,但是用户必须首先弹出一个提示,其中指出用户是否确实确定是否可以删除该项目。
Here is my code that I have now: 这是我现在拥有的代码:
private async void Switch_Toggled(object sender, ToggledEventArgs e)
{
Tasks task = (sender as Switch).BindingContext as Tasks;
await ApiManager.UpdateTasksFromListAsync(task);
}
This just updates a value on the API. 这只是更新API上的值。 But how can I remove/hide it from the listview?
但是,如何从列表视图中删除/隐藏它呢?
This is the xaml code: 这是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);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.