From 7c29320ad9ef709af5ef41feed59b565839871f9 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Tue, 23 Jan 2024 00:30:24 +0800 Subject: [PATCH] fix: pass default value when close from control. --- demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs | 1 - src/Ursa/Controls/Dialog/DialogControl.cs | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs index 05df4a7..28b0d3f 100644 --- a/demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs +++ b/demo/Ursa.Demo/ViewModels/DialogDemoViewModel.cs @@ -56,7 +56,6 @@ public class DialogDemoViewModel: ObservableObject var vm = new DialogWithActionViewModel(); var result = await DialogBox.ShowOverlayAsync( DialogViewModel, "LocalHost"); - Date = vm.Date; Result = result; } } \ No newline at end of file diff --git a/src/Ursa/Controls/Dialog/DialogControl.cs b/src/Ursa/Controls/Dialog/DialogControl.cs index 2436104..10a4ef5 100644 --- a/src/Ursa/Controls/Dialog/DialogControl.cs +++ b/src/Ursa/Controls/Dialog/DialogControl.cs @@ -74,8 +74,9 @@ public class DialogControl: ContentControl { if (this.DataContext is IDialogContext context) { - OnClose?.Invoke(this, args); + OnClose?.Invoke(this, Equals(sender, _closeButton) ? context.DefaultCloseResult : args); } + else { OnClose?.Invoke(this, null);