diff --git a/src/Core/Components/Dialog/FluentDialogProvider.razor.cs b/src/Core/Components/Dialog/FluentDialogProvider.razor.cs index 513cc39cc8..4a901f177c 100644 --- a/src/Core/Components/Dialog/FluentDialogProvider.razor.cs +++ b/src/Core/Components/Dialog/FluentDialogProvider.razor.cs @@ -86,7 +86,7 @@ private void ShowDialog(IDialogReference dialogReference, Type? dialogComponent, private async Task ShowDialogAsync(IDialogReference dialogReference, Type? dialogComponent, DialogParameters parameters, object content) { - return await Task.Run(async () => + await InvokeAsync(async () => { var previouslyFocusedElement = await GetPreviouslyFocusedElementAsync(); @@ -94,10 +94,10 @@ private async Task ShowDialogAsync(IDialogReference dialogRefe dialogReference.Instance = dialog; _internalDialogContext.References.Add(dialogReference); - await InvokeAsync(StateHasChanged); - - return dialogReference; + StateHasChanged(); }); + + return dialogReference; } private void UpdateDialog(string? dialogId, DialogParameters parameters) @@ -116,7 +116,9 @@ private void UpdateDialog(string? dialogId, DialogParameters parameters) private async Task UpdateDialogAsync(string? dialogId, DialogParameters parameters) { - return await Task.Run(() => + IDialogReference? result = null; + + await InvokeAsync(() => { IDialogReference? reference = _internalDialogContext.References.SingleOrDefault(x => x.Id == dialogId)!; DialogInstance? dialogInstance = reference?.Instance; @@ -130,10 +132,13 @@ private void UpdateDialog(string? dialogId, DialogParameters parameters) dialogInstance.Content = content; } - InvokeAsync(StateHasChanged); + StateHasChanged(); } - return reference; + + result = reference; }); + + return result; } // Check if the content object is a IDialogParameters and get the Content property.