由于我使用我自己的LongListSelector让用户从图像中进行选择,因此我需要检索Medialibrary
中所有图像的URI。我找不到任何可能做到这一点呢。WP8获取MediaLibrary中图像的URI
所有我看到什么是可能的是获得图像的名称:
MediaLibrary m = new MediaLibrary();
foreach (var r in m.Pictures)
{
Stream imageStream = r.GetImage();
}
我如何获取路径的休息吗?
编辑
继第一个解决方案:
Gallery.xaml
<phone:LongListSelector
x:Name="GalleryLLS"
LayoutMode="Grid"
GridCellSize="108,108"
SelectionChanged="GalleryLLS_SelectionChanged"
Margin="0,0,144,12"
ItemsSource="{Binding ListOfImages}" >
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel>
<Image Width="150" Height="150"
Source="{Binding}"/>
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
Gallery.xaml.cs
private List<WriteableBitmap> _listOfImages = new List<WriteableBitmap>();
public List<WriteableBitmap> ListOfImages
{
get { return _listOfImages; }
set { _listOfImages = value; }
}
public Gallery()
{
InitializeComponent();
var ml = new MediaLibrary();
var Pictures = ml.Pictures;
foreach (var item in Pictures)
{
ListOfImages.Add(PictureDecoder.DecodeJpeg(item.GetImage()));
}
}
结果不舒g图像。调试器显示imageas已正确添加到我的列表中,但我什么都看不到。
看来解码工作正常,但没有在我的列表中显示。我会根据你的回答更新我的问题 – 4ndro1d
看来UI没有更新为ListOfImages属性填充。为了解决这个问题,可以:1.将'List'改成'ObservableCollection '或者2.在'foreach'后面加上'InitializeComponent();'。 –
har07
试了两个(一起以及),没有结果 – 4ndro1d