From c6636be0c367273e42c2da1d7259c2f32578f542 Mon Sep 17 00:00:00 2001 From: ShaoHua <345265198@qqcom> Date: Thu, 1 Jan 2026 03:30:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=81=E8=AE=B8=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TodoList/ViewModels/MainViewModel.cs | 45 ++++++++++++++++++ TodoList/Views/MainWindow.xaml | 69 ++++++++++++++++++++++++++++ TodoList/Views/MainWindow.xaml.cs | 9 ++++ 3 files changed, 123 insertions(+) diff --git a/TodoList/ViewModels/MainViewModel.cs b/TodoList/ViewModels/MainViewModel.cs index e102e9c..c0afc50 100644 --- a/TodoList/ViewModels/MainViewModel.cs +++ b/TodoList/ViewModels/MainViewModel.cs @@ -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(); diff --git a/TodoList/Views/MainWindow.xaml b/TodoList/Views/MainWindow.xaml index 1558cea..eee2043 100644 --- a/TodoList/Views/MainWindow.xaml +++ b/TodoList/Views/MainWindow.xaml @@ -172,6 +172,7 @@ + @@ -232,6 +233,27 @@ + + +