我正在開發一個Windows Phone應用程序,我使用的是一個listbox.I我綁定了一些來自媒體庫的圖像。但它花費了很多時間來加載。所以如果有很多圖像在媒體庫中它會花費很多時間。增加在Windows Phone中的列表框的性能
private List<img> _galleryImages = new List<img>();
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());
img mediaImage = new img();
mediaImage.Imgs = image;
_galleryImages.Add(mediaImage);
}
}
catch (Exception ex)
{
}
}
public class img
{
public BitmapImage Imgs { get; set; }
}
在XAML
....
<toolkit:LongListSelector x:Name="imageList" IsFlatList="True" >
<toolkit:LongListSelector.ItemTemplate>
<DataTemplate >
<Image Name="im" Source="{Binding img}" Width="100" Height="100"/>
</DataTemplate>
</toolkit:LongListSelector.ItemTemplate>
</toolkit:LongListSelector>
private void imageList_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
MediaLibrary mediaLibrary = new MediaLibrary();
BitmapImage image = new BitmapImage();
image.SetSource(mediaLibrary.Pictures[imageList.SelectedIndex].GetImage());
image1.Source = image;
}
所以,請給我一些提示,加載從媒體庫圖像,那麼快速度的ListBox ....
使用實現虛擬化的ListBox。像'LongListSelector'或Telerik的'RadDataBoundListBox' –
你也應該使用縮略圖,而不是全尺寸的圖像。 –
@ Anton-感謝您的回覆,但我正在使用帶有圖片的列表框,正如我所說的。因此,選擇列表框圖像後,選定的項目被綁定到一個大的圖像源,我只想知道如何將此縮略圖轉換爲高分辨率圖像。 –