Windows Phone 8 アプリに画像ギャラリーを統合しています。
ここにxamlコードがあります:
<phone:LongListSelector Name="listdata" LayoutMode="Grid"
JumpListStyle="{StaticResource JumpListStyle}" GridCellSize="147,147">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<Border BorderBrush="White" BorderThickness="1">
<Image Source="{Binding thumbnail}" Height="147" Width="147"/>
</Border>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
</Grid>
そしてここにimagemodelクラスがあります:
public class imagemodel
{
public WriteableBitmap thumbnail { get; set; }
public string name { get; set; }
public Picture image;
private Picture picture;
public imagemodel(Picture pic)
{
image = pic;
name = pic.Name;
thumbnail = PictureDecoder.DecodeJpeg(pic.GetThumbnail());
}
}
MediaLibrary lib = 新しい MediaLibrary();
public void loadmygallery()
{
foreach (var picture in lib.Pictures)
{
imagemodel im = new imagemodel(picture);
collection.Add(im);
}
}
ギャラリーページを開くとアプリがクラッシュします。これはメモリの過負荷が原因である可能性があります。表示されるサムネイルを 30 に制限するか、それほど多くない場合、コードは正常に実行されます。すべてのサムネイルを表示する方法はありますか??