0

メディアライブラリからいくつかの画像をロードしているリストボックスがあります.しかし、2回目にロードするか、戻るボタンをクリックすると例外が発生します.ここに私のコードがあります........

 public MainPage()
{
InitializeComponent();
getImages();

}
public void getImages()
{
try
{
    MediaLibrary mediaLibrary = new MediaLibrary();
    var pictures = mediaLibrary.Pictures;
    foreach (var picture in pictures)
    {
        BitmapImage image = new BitmapImage();
        image.SetSource(picture.GetImage());//out of memory exception
        img mediaImage = new img();
        mediaImage.Imgs = image;
        imageList.Items.Add(mediaImage);
    }
}
catch (Exception ex)
{

}

}
public class img
{
public img()
{ }
public BitmapImage Imgs { get; set; }
}

Xamlで...

<ScrollViewer Name="sc" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden" Margin="0,422,0,43">
        <ListBox Name="imageList" SelectionChanged="imageList_SelectionChanged_1" Height="126">
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate >
                    <StackPanel Orientation="Horizontal"></StackPanel>
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
            <ListBox.ItemTemplate>
                <DataTemplate >
                    <StackPanel Orientation="Horizontal">
                    <Image Margin="10" Name="image1" Source="{Binding Imgs}" Height="150" Width="150"></Image>
                        </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </ScrollViewer>

picture.getimage() の getimages() メソッドで、メモリ不足の例外が表示されます (コードで記述しました)。imageList.items.Clear() を試しましたが、機能しません。

だから助けてください......

4

0 に答える 0