0

私は音楽ライブラリにアクセスできる音楽プレーヤーを書いています。トラックと一緒に保存されているカバー画像をサポートしたいのですが、たとえば次のようになります。

  • AlbumFolder /
    • Track1
    • Track2
    • Cover.jpg

これらのカバー画像の絶対パスが保存さUriれ、ビューモデル上のオブジェクトに変換されています。Imageを使用してこれらをXAMLのsにバインドしようとしましUriSourceたが、画像が空白のままです。Sourceまた、URIからのコンバーターを使用してバインドしようとしましたがBitmapImage、同様の結果が得られました。どちらの場合も、例外もバインディングエラーも発生しません。

自分でイメージをプリロードして、BitmapImageからStorageFilesを作成できることはわかっていますが、すでに配置されているキャッシングシステムを再作成します。なぜこれが起こるのかについて何か提案はありますか?

4

1 に答える 1

0

Windowsストアアプリケーションには、ローカルパスにアクセスするためのUriプロトコルはないと思います。私の知る限り、それらはWeb上のリソース、アプリケーションパッケージ、およびアプリケーション状態でのみ機能します。

おそらく最善の方法はBitmapImage、ローカル パスに基づいてビュー モデルを作成することです。このようなものが動作するはずです:

var file = await StorageFile.GetFileFromPathAsync(filepath);
var stream = await file.OpenReadAsync();
var bitmap = new BitmapImage();
await bitmap.SetSourceAsync(stream);
于 2013-03-17T08:34:56.263 に答える