我正在开发一个wpf应用程序,我正在使用文件打开对话框,我面临一个小问题。问题是,当我在文件打开对话框,如果我单击父窗口,然后文件对话框消失。我不希望这种情况发生。 我正在使用文件打开对话框的帮助程序类,这里是它的代码
using System;
using System.IO;
using System.Windows.Forms;
namespace MOAA.Infrastructure.Helpers
{
public static class DialogHelper
{
public static string ImportFileDialog(string fileNameWithPath)
{
var dialog = new OpenFileDialog()
{
FileName = fileNameWithPath ?? string.Empty,
InitialDirectory = fileNameWithPath != null ?
Path.GetDirectoryName(fileNameWithPath) : AppDomain.CurrentDomain.BaseDirectory,
};
var dialogStatus = dialog.ShowDialog();
if (dialogStatus == true)
{
return dialog.FileName;
}
return null;
}
}
}
答案 0 :(得分:1)
您需要在致电ShowDialog()时指定父窗口:
var dialogStatus = dialog.ShowDialog(System.Windows.Application.Current.MainWindow);
答案 1 :(得分:0)
<强>更新强>
您正在使用窗口对话框,因此您可以通过将其包装到WPF视图或窗口中来完成更多工作。然后,为WPF控件设置所有者
wpfDialog.Owner = System.Windows.Application.Current.MainWindow;
这是你如何包装它:
http://manfredlange.blogspot.com/2009/04/openfiledialog-in-net-on-vista.html
希望它有效。