Windows Phone 8.1(运行时):如何在FlipView中显示图像列表

本文关键字:FlipView 显示 显示图 列表 图像 Phone 运行时 Windows | 更新日期: 2023-09-27 18:14:38

我是这样做的:

    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;
    }

xaml

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

我得到这个异常

类型为'System '的第一次异常。发生的异常mscorlib.ni.dll

附加信息:无法找到组件。(例外HRESULT: 0 x88982f50)

在这行

 await bitmapImage.SetSourceAsync(stream);
请问,有什么问题吗?

Windows Phone 8.1(运行时):如何在FlipView中显示图像列表

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