2014-04-16 2 views
0

하나 이상의 파일을 선택하려면 Custom WPF Dialog box을 사용하고 있습니다. 문제는 파일 이상을 선택하면 FileDialogExt 클래스의 사용자 지정 WPF를 사용하여 다중 파일 선택 OpenFileDialog

void OnPathChanged(IFileDlgExt sender, string pathName)
메서드 때문에 Argumentexception ("경로에 잘못된 문자가 있음")이 표시됩니다. 문제의 원인은 여러 파일의 pathName이 다음과 같습니다 :
D:\Development\ "WpfCustomFileDialog.dll" "WpfCustomFileDialog.pdb"
System.IO.Path.GetFileName
에 유효한 매개 변수가 아니며 Argumentexception ("경로에 잘못된 문자가 있음")이 표시됩니다.

어떻게 해결할 수 있습니까?

감사

답변

2

이 형편 반환 값이더라도, 정말 해결하기 위해 아무것도있다처럼 보이게하지 않습니다. 반환 된 pathName을 분리하거나 구문 분석하고 각각의 실제 이름으로 GetFileName()으로 전화하면됩니다.

D:\ 줄이 문자열이라고 가정하면 .Split('"')이 될 수 있습니다. 결과 배열을 통해 .Trim()에 잘못된 공백을 반복하고 지금 비어있는 항목 (인용 된 이름 사이의 공백)을 없앱니다.

그런 다음 첫 번째 배열 요소 (폴더)를 다른 요소 (파일)와 결합하면 유효한 요소 이름이어야합니다.

프로젝트를 소스로 포함하는 경우 창 내부에서이 작업을 수행하고 그 추악한 문자열이 아닌 List<String> 또는 그 이상을 반환 할 수 있습니다.