リストボックスを使用しているWindows Phoneアプリを開発しています.リストボックスでは、いくつかの画像をバインドしています.ここに私のコードがあります......
コードビハインドで.....
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>
1.すべてが完全に機能しています。しかし、問題は、ページの読み込み時に読み込みが非常に遅くなることです。読み込みに非常に時間がかかります。画像を読み込むことができるように、これらの画像をより高速に読み込む方法が必要ですリストボックスに数秒で表示されます。実際には、リストボックスの画像をバインドして高速にロードする方法はありますか。Plsss...助けて-.....
2.また、ページを2回目に更新またはロードするか、戻るボタンをクリックすると、picture.getimage()のgetimages()メソッドでメモリ不足の例外が表示されます(コードで記述しました)。
だから助けてください......