diff --git a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs index c75e532ec..06b18df11 100644 --- a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs +++ b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs @@ -283,8 +283,7 @@ namespace Ryujinx.Ava.UI.Applet Profiles = profiles, SelectedUserId = _parent.AccountManager.LastOpenedUser.UserId }; - UserSelectorDialog content = new(viewModel); - (selected, _) = await UserSelectorDialog.ShowInputDialog(content); + (selected, _) = await UserSelectorDialog.ShowInputDialog(viewModel); dialogCloseEvent.Set(); }); diff --git a/src/Ryujinx/UI/Applet/UserSelectorDialog.axaml.cs b/src/Ryujinx/UI/Applet/UserSelectorDialog.axaml.cs index 95081913e..660094c59 100644 --- a/src/Ryujinx/UI/Applet/UserSelectorDialog.axaml.cs +++ b/src/Ryujinx/UI/Applet/UserSelectorDialog.axaml.cs @@ -79,7 +79,7 @@ namespace Ryujinx.Ava.UI.Applet } } - public static async Task<(UserId Id, bool Result)> ShowInputDialog(UserSelectorDialog content) + public static async Task<(UserId Id, bool Result)> ShowInputDialog(UserSelectorDialogViewModel viewModel) { ContentDialog contentDialog = new() { @@ -87,22 +87,25 @@ namespace Ryujinx.Ava.UI.Applet PrimaryButtonText = LocaleManager.Instance[LocaleKeys.Continue], SecondaryButtonText = string.Empty, CloseButtonText = LocaleManager.Instance[LocaleKeys.Cancel], - Content = content, + Content = new UserSelectorDialog(viewModel), Padding = new Thickness(0) }; UserId result = UserId.Null; bool input = false; + + contentDialog.Closed += Handler; + await ContentDialogHelper.ShowAsync(contentDialog); + + return (result, input); + void Handler(ContentDialog sender, ContentDialogClosedEventArgs eventArgs) { if (eventArgs.Result == ContentDialogResult.Primary) { - if (contentDialog.Content is UserSelectorDialog view) - { - result = view.ViewModel.SelectedUserId; - input = true; - } + result = viewModel.SelectedUserId; + input = true; } else { @@ -110,12 +113,6 @@ namespace Ryujinx.Ava.UI.Applet input = false; } } - - contentDialog.Closed += Handler; - - await ContentDialogHelper.ShowAsync(contentDialog); - - return (result, input); } } }