fix(ui): Recent-Sessions Resume/Brief-Buttons fuehren ihren Command wieder aus

Der Click-Handler schloss das Flyout synchron; Button liest Command erst nach dem ClickEvent, das Hide hatte die Bindung da schon geloest.
This commit is contained in:
mika kuns
2026-09-30 10:14:55 +02:00
parent 2a41f7e641
commit 60358100be
@@ -29,8 +29,10 @@ public partial class MissionControlView : UserControl
InitializeComponent(); InitializeComponent();
DataContextChanged += OnDataContextChanged; DataContextChanged += OnDataContextChanged;
QueueSplitter.DragCompleted += (_, _) => _queueWidth = BodyGrid.ColumnDefinitions[2].Width; QueueSplitter.DragCompleted += (_, _) => _queueWidth = BodyGrid.ColumnDefinitions[2].Width;
// Resume/Brief buttons don't close a plain Flyout on their own. // Resume/Brief buttons don't close a plain Flyout on their own. Deferred: Click fires before
RecentSessionsList.AddHandler(Button.ClickEvent, (_, _) => RecentSessionsButton.Flyout?.Hide()); // Button runs its Command, and a synchronous Hide unbinds that Command first.
RecentSessionsList.AddHandler(Button.ClickEvent,
(_, _) => Avalonia.Threading.Dispatcher.UIThread.Post(() => RecentSessionsButton.Flyout?.Hide()));
} }
private void OnSessionFlyoutOpening(object? sender, EventArgs e) => _ = _vm?.RefreshSessionTargetsAsync(); private void OnSessionFlyoutOpening(object? sender, EventArgs e) => _ = _vm?.RefreshSessionTargetsAsync();