From 5da5e0626aaa57326ae8ad62e377127c42b72be6 Mon Sep 17 00:00:00 2001 From: Dong Bin Date: Fri, 18 Apr 2025 02:37:27 +0800 Subject: [PATCH] feat: add async command support. --- .../ViewModels/PopConfirmDemoViewModel.cs | 6 ++- .../Controls/PopConfirm.axaml | 16 +++++-- src/Ursa/Controls/PopConfirm/PopConfirm.cs | 48 +++++++++++++++---- 3 files changed, 57 insertions(+), 13 deletions(-) diff --git a/demo/Ursa.Demo/ViewModels/PopConfirmDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/PopConfirmDemoViewModel.cs index 78618e6..175a8c9 100644 --- a/demo/Ursa.Demo/ViewModels/PopConfirmDemoViewModel.cs +++ b/demo/Ursa.Demo/ViewModels/PopConfirmDemoViewModel.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using System.Windows.Input; using Avalonia.Controls.Notifications; using CommunityToolkit.Mvvm.ComponentModel; @@ -15,12 +16,13 @@ public partial class PopConfirmDemoViewModel: ObservableObject public PopConfirmDemoViewModel() { - ConfirmCommand = new RelayCommand(OnConfirm); + ConfirmCommand = new AsyncRelayCommand(OnConfirm); CancelCommand = new RelayCommand(OnCancel); } - private void OnConfirm() + private async Task OnConfirm() { + await Task.Delay(3000); ToastManager?.Show(new Toast("Confirmed"), type: NotificationType.Success, classes: ["Light"]); } diff --git a/src/Ursa.Themes.Semi/Controls/PopConfirm.axaml b/src/Ursa.Themes.Semi/Controls/PopConfirm.axaml index e58c249..1bf45e7 100644 --- a/src/Ursa.Themes.Semi/Controls/PopConfirm.axaml +++ b/src/Ursa.Themes.Semi/Controls/PopConfirm.axaml @@ -7,14 +7,24 @@ - + -