diff --git a/src/dosymep.WpfCore/SimpleServices/WpfOpenFileDialogService.cs b/src/dosymep.WpfCore/SimpleServices/WpfOpenFileDialogService.cs index e184896..09e127e 100644 --- a/src/dosymep.WpfCore/SimpleServices/WpfOpenFileDialogService.cs +++ b/src/dosymep.WpfCore/SimpleServices/WpfOpenFileDialogService.cs @@ -77,18 +77,18 @@ public bool ShowDialog(string directoryName) { FilterIndex = FilterIndex, Title = Title ?? string.Empty, Filter = Filter ?? string.Empty, - InitialDirectory = directoryName + InitialDirectory = directoryName, }; - bool? result = dialog.ShowDialog(); - if(result==true) { + bool? result = dialog.ShowDialog(GetAssociatedWindow()); + if(result == true) { File = new FileInfo(dialog.SafeFileName); Files = dialog.SafeFileNames.Select(item => new FileInfo(item)).ToArray(); } else { File = null; Files = null; } - + return result == true; } diff --git a/src/dosymep.WpfCore/SimpleServices/WpfOpenFolderDialogService.cs b/src/dosymep.WpfCore/SimpleServices/WpfOpenFolderDialogService.cs index ec3ac66..6ce9670 100644 --- a/src/dosymep.WpfCore/SimpleServices/WpfOpenFolderDialogService.cs +++ b/src/dosymep.WpfCore/SimpleServices/WpfOpenFolderDialogService.cs @@ -1,4 +1,6 @@ +using System.Diagnostics; using System.IO; +using System.Windows; using dosymep.SimpleServices; @@ -76,7 +78,10 @@ public bool ShowDialog(string directoryName) { dialog.Title = Title ?? string.Empty; dialog.InitialDirectory = directoryName; - CommonFileDialogResult? result = dialog.ShowDialog(); + Window? associatedWindow = GetAssociatedWindow(); + CommonFileDialogResult? result = associatedWindow is not null + ? dialog.ShowDialog(associatedWindow) + : dialog.ShowDialog(Process.GetCurrentProcess().MainWindowHandle); if(result == CommonFileDialogResult.Ok) { Folder = new DirectoryInfo(dialog.FileName); diff --git a/src/dosymep.WpfCore/SimpleServices/WpfSaveFileDialogService.cs b/src/dosymep.WpfCore/SimpleServices/WpfSaveFileDialogService.cs index c2ac462..4c095df 100644 --- a/src/dosymep.WpfCore/SimpleServices/WpfSaveFileDialogService.cs +++ b/src/dosymep.WpfCore/SimpleServices/WpfSaveFileDialogService.cs @@ -76,7 +76,7 @@ public bool ShowDialog(string? directoryName, string? fileName) { FileName = fileName ?? DefaultFileName ?? string.Empty }; - bool? result = dialog.ShowDialog(); + bool? result = dialog.ShowDialog(GetAssociatedWindow()); if(result == true) { File = new FileInfo(dialog.SafeFileName); } else {