我正在打开一个带有基于用户定义路径的初始目录的 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 属性需要遵循哪些规则?

最佳答案

修复它的快速简便的方法是获取完整路径:

dialog.InitialDirectory = Path.GetFullPath(initialDirectory);

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

关于c# - 为 SaveFileDialog 验证 InitialDirectory?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5128804/

10-12 02:06