打开文件对话框单击父窗口时消失

时间:2015-04-02 13:10:17

标签: c# wpf

我正在开发一个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;
        }
    }
}

2 个答案:

答案 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

希望它有效。