我正在尝试在打开ExplorerBrowser时设置默认文件夹。
if (Direcory.Exists(folderPath))
{
var folderPathFile = ShellFile.FromFilePath(folderPath);
Eb.ExplorerBrowserControl.Navigate(folderPathFile);
}
有趣的是,即使Directory.Exists返回true,该方法也会抛出“FileNotFoundException”。
FromFilePath-Method如下所示:
internal ShellFile(string path)
{
// Get the absolute path
string absPath = ShellHelper.GetAbsolutePath(path);
// Make sure this is valid
if (!File.Exists(absPath))
throw new FileNotFoundException(string.Format("The given path does not exist ({0})", path));
ParsingName = absPath;
Path = absPath;
}
我不太确定“GetAbsolutePath(path)”的作用,但我的路径已经是绝对的。是否可能通过调用此方法来破坏我的功能路径?我该如何解决这个问题?
答案 0 :(得分:0)
当传递给Directory.Exists()时,folderPath变量返回true,因此这是一个目录路径(传递给此方法的文件路径返回false)。
将相同的值传递给ShellFile.FromFilePath(),获取路径的绝对值,然后将其传递给File.Exists - 但是,如上所述,它是一个目录路径,因此返回false