我正在打开一个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属性需要遵循哪些规则?
答案 0 :(得分:7)
快速简便的解决方法是获取完整路径:
dialog.InitialDirectory = Path.GetFullPath(initialDirectory);
这将扩展SaveFileDialog
所期望的绝对路径的相对路径。这将扩展几乎任何类似于路径的完整根路径。这包括诸如“/”(变成当前文件夹设置的任何驱动器的根目录)和“”(变成当前文件夹)之类的内容。