0

我正在使用自定义 WPF 对话框来选择一个或多个文件。问题是当您选择多个文件时,它会抛出 Argumentexception("Illegal characters in path.") 因为

void OnPathChanged(IFileDlgExt 发件人,字符串路径名)
课堂上的方法FileDialogExt。问题的原因是多个文件的路径名如下:
D:\Development\ "WpfCustomFileDialog.dll" "WpfCustomFileDialog.pdb"
这不是一个有效的参数
System.IO.Path.GetFileName
它会抛出 Argumentexception("Illegal characters in path.")。

我该如何解决这个问题?

问候

4

1 回答 1

2

看起来没有什么可以修复的,真的,虽然它是一个糟糕的返回值。您只需要分离或解析您返回的pathNameGetFileName()使用每个实际名称进行调用。

假设你的D:\行是一个字符串,你应该能够.Split('"'). 遍历生成的数组到.Trim()错误的空格并删除现在为空的条目(引用名称之间的空格)。

如果您随后将第一个数组元素(文件夹)与其他元素(文件)组合在一起,那么这些应该是您的有效文件名。

如果您将项目作为源包含在内,您可能希望在窗口内完成这项工作,并返回一个List<String>或其他东西,而不是那个丑陋的字符串。

于 2014-04-16T19:37:24.617 回答