/// <summary> /// 删除todo /// </summary> /// <param name="id">ID</param> /// <returns></returns> /// 先从列表删除,然后把列表内容都序列化保存,接着: /// 1.如果已经登陆的,尝试发送请求; /// 2.离线模式,不用管 private async Task DeleteToDo(ToDo todo) { IsLoading = Visibility.Visible; try { var item = todo; DeletedToDos.Add(item); await SerializerHelper.SerializerToJson <ObservableCollection <ToDo> >(DeletedToDos, SerializerFileNames.DeletedFileName); AllToDos.Remove(item); UpdateDisplayList(CateVM.Categories[SelectedCate].CateColorID); await SerializerHelper.SerializerToJson <ObservableCollection <ToDo> >(AllToDos, SerializerFileNames.ToDoFileName); //登录过的 if (App.CanSendRequest) { var result = await CloudService.DeleteToDoAsync(todo.ID); await CloudService.UpdateAllOrderAsync(ToDo.GetCurrentOrderString(AllToDos)); } Messenger.Default.Send(new GenericMessage <ObservableCollection <ToDo> >(AllToDos), MessengerTokens.UpdateTile); UpdateUndoneCount(); } catch (Exception e) { var task = Logger.LogAsync(e); } finally { IsLoading = Visibility.Collapsed; } }