0

我正在这样做:

    using Windows.Storage;
    using Windows.UI.Xaml.Media.Imaging;

    ...

    private async void LoadFiles()
    {
        StorageFolder folder = KnownFolders.SavedPictures;
        IReadOnlyList<StorageFile> list = await folder.GetFilesAsync();
        var images = new List<BitmapImage>();
        if (list != null)
        {
            foreach (StorageFile file in list)
            {
                var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
                BitmapImage bitmapImage = new BitmapImage();
                await bitmapImage.SetSourceAsync(stream);
                images.Add(bitmapImage);

            }
        }
        flipView.ItemsSource = images;
    }

xml

<FlipView x:Name="flipView"
              SelectionChanged="flipView_SelectionChanged">
        <FlipView.ItemTemplate>
            <DataTemplate>
                <Image Stretch="UniformToFill" Source="{Binding}" />
            </DataTemplate>
        </FlipView.ItemTemplate>
    </FlipView>

我得到了这个例外

mscorlib.ni.dll 中出现了“System.Exception”类型的第一次机会异常

附加信息:找不到该组件。(来自 HRESULT 的异常:0x88982F50)

在这条线上

 await bitmapImage.SetSourceAsync(stream);

请问,有什么问题吗?

4

1 回答 1

0

该程序有效,但问题是 jpg 文件损坏。它们的大小为 0 字节,因此stream无法创建。检查此变量是否已创建或是否已充满数据。

于 2015-09-27T15:56:47.337 回答