打开文件对话框初始目录

时间:2014-10-29 16:38:26

标签: c# wpf dialog directory

我有使用InitialDirectory路径的问题,我使用了下面显示的部分代码。 OpenDialog总是显示我上次打开文件的目录,但我无法设置新的相对路径..我尝试设置绝对路径,但它也不起作用。

private static string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

public static string OpenDialog()
    {
        // Create OpenDialog 
        var dlg = new Microsoft.Win32.OpenFileDialog();

        // initial directory for OpenFileDialog need fix
        if(Directory.Exists(path))
        {
            dlg.InitialDirectory = path;
        } 

        dlg.RestoreDirectory = true;

1 个答案:

答案 0 :(得分:1)

在您的示例中,'path'被设置为.exe,这将导致if(Directory.Exists(path))失败,因此,对话框将打开到最后一个已知的正确目录,因为InitialDirectory不会设置为您想要的值。尝试首先对已知良好的目录路径进行硬编码。或者你可以做这样的事情来解决它:

path = Directory.GetParent(System.Reflection.Assembly.GetExecutingAssembly().Location).FullName;