2016-09-15 78 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

不客氣:-) –

相關問題