diff --git a/src/KeyKeeper/ViewModels/MainWindowViewModel.cs b/src/KeyKeeper/ViewModels/MainWindowViewModel.cs index b95e069..2a13c50 100644 --- a/src/KeyKeeper/ViewModels/MainWindowViewModel.cs +++ b/src/KeyKeeper/ViewModels/MainWindowViewModel.cs @@ -1,17 +1,22 @@ using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using KeyKeeper.Views; +using Avalonia.Controls; namespace KeyKeeper.ViewModels; - public partial class MainWindowViewModel : ViewModelBase { public string Greeting { get; } = "Welcome to Avalonia!"; - [RelayCommand] - private void OpenSettings() + private async void OpenSettings() { var settingsWindow = new SettingsWindow(); - settingsWindow.Show(); + await settingsWindow.ShowDialog(GetMainWindow()); + } + private static Window? GetMainWindow() + { + return App.Current?.ApplicationLifetime is Avalonia.Controls.ApplicationLifetimes.IClassicDesktopStyleApplicationLifetime desktop + ? desktop.MainWindow + : null; } }