fix(ui): fix live output visibility and editor dialog graying out

- Remove wrapping ScrollViewer from live output TextBox — Avalonia
  TextBox with AcceptsReturn handles its own scrolling; nested
  ScrollViewer caused layout collapse
- Auto-scroll via CaretIndex instead of removed ScrollViewer
- Add OnWindowClosed to both editor ViewModels, ensuring the
  TaskCompletionSource always resolves when the dialog closes
  (including via X button), preventing RelayCommand from staying
  permanently disabled

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mika Kuns
2026-04-14 17:01:08 +02:00
parent 7363e48496
commit 2a1f26d817
6 changed files with 32 additions and 18 deletions

View File

@@ -151,6 +151,7 @@ public partial class TaskListViewModel : ViewModelBase
var window = new TaskEditorView { DataContext = editor };
editor.RequestClose += () => window.Close();
window.Closed += (_, _) => editor.OnWindowClosed();
_ = ShowDialogAsync(window);
var saved = await editor.ShowAndWaitAsync();
@@ -197,6 +198,7 @@ public partial class TaskListViewModel : ViewModelBase
var window = new TaskEditorView { DataContext = editor };
editor.RequestClose += () => window.Close();
window.Closed += (_, _) => editor.OnWindowClosed();
_ = ShowDialogAsync(window);
var saved = await editor.ShowAndWaitAsync();