0

写真、アルバムに関連するアプリケーションを 1 つ開発しています。私がやろうとしているのは、すべての写真、保存された写真、アルバム、カメラロールをデバイスから選択して、に保存することですList<Image>MediaLibraryという 1 つのクラスを見つけましたが、これらの画像をすべて選択してリストに保存する方法を理解できません。

次のようにすべての画像をリストに追加することはできますか。

 private void btnSearchImages_Click_1(object sender, RoutedEventArgs e)
    {
        MediaLibrary m = new MediaLibrary();            

        foreach (var r in m.Pictures)
        {
            Stream imageStream = r.GetImage();
            List<Image> lstImageFromMediaLibrary = new List<Image>();
            var imageToShow = new Image()
            {
                Source = PictureDecoder.DecodeJpeg(r.GetImage())
            };

            lstImageFromMediaLibrary.Add(imageToShow);
        }        
    }

デバッグすると、アルバムにデフォルトの画像が 8 つある場合でも、画像がないことがわかりました。m.Picturesはカウント ゼロを示しています。これらすべての画像をデバイスから選択してリストに追加するにはどうすればよいですか?

4

3 に答える 3

0

これを試して:-

MediaLibrary m = 新しい MediaLibrary();

    foreach (var r in m.RootPictureAlbum.Pictures)
    {

    }
于 2013-07-25T07:24:18.600 に答える
0

コードの明らかな問題の 1 つは、反復ごとに常に新しいリストを宣言することです。やったほうがいい:

private void btnSearchImages_Click_1(object sender, RoutedEventArgs e)
{
    MediaLibrary m = new MediaLibrary();            

    List<Image> lstImageFromMediaLibrary = new List<Image>();

    foreach (var r in m.Pictures)
    {
        Stream imageStream = r.GetImage();

        var imageToShow = new Image()
        {
            Source = PictureDecoder.DecodeJpeg(r.GetImage())
        };

        lstImageFromMediaLibrary.Add(imageToShow);
    }        
}
于 2014-01-19T03:31:12.413 に答える
0

リストにあるすべての画像を取得しました。選択したマニフェストから追加しましID_CAP_MEDIALIB_PHOTOた (マニフェストは Properties > WMAppManifest.xml > Capabilities にあります)

于 2013-07-25T07:26:39.317 に答える