[英]C# - Xamarin forms remove listview item on toggle
因此,我想在切換的列表視圖中刪除該項目。 我有這樣的列表視圖:
現在,我希望在單擊要選擇的內容時將其從列表視圖中刪除,但是用戶必須首先彈出一個提示,其中指出用戶是否確實確定是否可以刪除該項目。
這是我現在擁有的代碼:
private async void Switch_Toggled(object sender, ToggledEventArgs e)
{
Tasks task = (sender as Switch).BindingContext as Tasks;
await ApiManager.UpdateTasksFromListAsync(task);
}
這只是更新API上的值。 但是,如何從列表視圖中刪除/隱藏它呢?
這是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.