C# 打开文件对话框初始目录

C# 打开文件对话框初始目录,c#,wpf,dialog,directory,C#,Wpf,Dialog,Directory,我使用的InitialDirectory路径有问题,部分代码如下所示。OpenDialog始终显示上次打开文件的目录,但无法设置新的相对路径。。我尝试设置绝对路径,但也不起作用 private static string path = System.Reflection.Assembly.GetExecutingAssembly().Location; public static string OpenDialog() { // Create OpenDialog

我使用的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;

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

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

var initialDirectory=Path.GetDirectoryName(Path)您是否查看了
OpenFileDialog方法
您可以在code中设置文件管理器/默认目录。。在MSDN上查找从一个简单的谷歌搜索中获取的方法我尝试过,但对medid无效你尝试过吗?它会解决你的问题