验证SaveFileDialog的InitialDirectory?

时间:2011-02-26 18:16:22

标签: c# wpf validation savefiledialog

我正在打开一个SaveFileDialog,其初始目录基于用户定义的路径。我希望确保此路径在传入并打开对话框之前有效。现在我有了这个:

Microsoft.Win32.SaveFileDialog dialog = new Microsoft.Win32.SaveFileDialog();

if (!string.IsNullOrEmpty(initialDirectory) && Directory.Exists(initialDirectory))
{
    dialog.InitialDirectory = initialDirectory;
}

bool? result = dialog.ShowDialog();

然而,当我调用ShowDialog时,似乎\正在滑落并导致崩溃。是否有其他可能导致崩溃的值? InitialDirectory属性需要遵循哪些规则?

1 个答案:

答案 0 :(得分:7)

快速简便的解决方法是获取完整路径:

dialog.InitialDirectory = Path.GetFullPath(initialDirectory);

这将扩展SaveFileDialog所期望的绝对路径的相对路径。这将扩展几乎任何类似于路径的完整根路径。这包括诸如“/”(变成当前文件夹设置的任何驱动器的根目录)和“”(变成当前文件夹)之类的内容。