2016-09-15 4 views
0

폴더를 선택하려고 할 때이 오류가 발생하여 폴더에있는 모든 이미지가 표시됩니다. 내 코드 :보다구성 요소를 찾을 수 없습니다. (HRESULT 예외 : 0x88982F50) UWP

var folderPicker = new Windows.Storage.Pickers.FolderPicker(); 
      folderPicker.FileTypeFilter.Add(".jpg"); 
      var folder = await folderPicker.PickSingleFolderAsync(); 
      var filesList = await folder.GetFilesAsync(); 
      for (int i = 0; i < filesList.Count ; i++) 
      { 
       using (var stream = await filesList[i].OpenAsync(Windows.Storage.FileAccessMode.Read)) 
       { 
        var bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage(); 
        await bitmapImage.SetSourceAsync(stream); 
        Image m = new Image(); 
        m.Source = bitmapImage; 
        sp1.Children.Add(m); 
       } 

      } 
폴더가 4 개 또는 5 이미지가 때 작업을 수행

하지만, 더 나는이 오류가 발생합니다. 어떤 도움?

답변

1

문제는 실제로 표시하는 이미지의 수는 아니지만 사실은 이미지가 아닌 파일을 표시하려고합니다.

코드 상단에서 ".jpg"이미지에만 필터를 적용하지만이 필터는 GetFilesAsync 메서드가 반환하는 내용이 아닌 폴더 선택 대화 상자에 표시되는 내용에만 적용됩니다. 즉, filesList에는 이미지뿐만 아니라 폴더의 모든 파일이 포함됩니다. 이 문제를 해결하려면 먼저 CreateFileQueryWithOptions 방법을 사용하여 필터를 만들 수 있습니다

var filesList = 
    await folder.CreateFileQueryWithOptions(
      new QueryOptions(CommonFileQuery.DefaultQuery, 
          new string[] {".jpg"}) 
     ).GetFilesAsync(); 

당신은이 솔루션 on my GitHub 내 샘플 응용 프로그램을 참조 시도 할 수 있습니다.

+0

완벽하게 작동했습니다! 감사합니다 <3 – user3159792

+0

당신은 환영합니다 :-) –

관련 문제