允许编辑

This commit is contained in:
ShaoHua
2026-01-01 03:30:22 +08:00
parent 036dc6964a
commit c6636be0c3
3 changed files with 123 additions and 0 deletions
+45
View File
@@ -25,6 +25,18 @@ namespace TodoList.ViewModels
[ObservableProperty]
private TodoPriority newPriority = TodoPriority.Medium;
[ObservableProperty]
private bool isEditDialogOpen;
[ObservableProperty]
private TodoItem editingTask;
[ObservableProperty]
private string editContent;
[ObservableProperty]
private TodoPriority editPriority = TodoPriority.Medium;
[ObservableProperty]
private bool isSettingsOpen;
@@ -189,6 +201,39 @@ namespace TodoList.ViewModels
Tasks.Remove(item);
}
[RelayCommand]
private void OpenEditDialog(TodoItem item)
{
if (item == null) return;
EditingTask = item;
EditContent = item.Content;
EditPriority = item.Priority;
IsEditDialogOpen = true;
}
[RelayCommand]
private void CloseEditDialog()
{
IsEditDialogOpen = false;
EditingTask = null;
EditContent = string.Empty;
EditPriority = TodoPriority.Medium;
}
[RelayCommand]
private async Task SaveEditAsync()
{
if (EditingTask == null || string.IsNullOrWhiteSpace(EditContent)) return;
EditingTask.Content = EditContent;
EditingTask.Priority = EditPriority;
EditingTask.SyncStatus = SyncStatus.Pending;
await _dataService.SaveTaskAsync(EditingTask);
await LoadTasksAsync();
CloseEditDialog();
}
public async void Receive(TaskAddedMessage message)
{
await LoadTasksAsync();