web-dev-qa-db-ja.com

Windows-10UWPで画像のURLをListViewの画像ソースにバインドする

WinRTアプリをUWPに移植しています。私のアプリは、オンラインクエリから受信したURIを表示しようとします。
XAMLでこのように画像ソースにバインドしています

<Image  Source="{Binding ImageSrc}" Stretch="UniformToFill" />


アプリはこのURIから画像をフェッチできません。アプリコンテナに存在する画像のみを表示できます(/ Assets /フォルダ内のすべて)
オンラインクエリから受け取ったURIは有効です。ブラウザにURIを貼り付けて確認しました。ブラウザは、URIから画像をフェッチして表示することができます。

この投稿を読んだ WPFでのデータバインディング 。少なくとも、上記のバインディングは、 "ImageSrcが画像への有効なURIの文字列表現である"​​。私の場合、ImageSrcは有効なURIです

上記のスレッドはWPF用であるため、UWPでもそれが当てはまるかどうかはわかりません。この場合、私がしなければならない追加のことはありますか?

9
Ganesh kudva

XAMLベースのバインディングを探している場合は、次の方法があります。

<Image>
    <Image.Source>
        <BitmapImage UriSource="{Binding ImageSource}" />
    </Image.Source>
</Image>
10
Konstantin

私はあなたに1つの選択肢を与えることができます。コードビハインドファイルから画像ソースを設定できます。 Urlは、Imageタグの「source」プロパティを使用して直接レンダリングしません。最初にURLをビットマップイメージに変換してから、ソースプロパティをそのビットマップオブジェクトに設定する必要があります

これを試して、

Image.Source = new BitmapImage(
new Uri("http://yourdomain.com/image.jpg", UriKind.Absolute));

ここの質問に見られるように プログラムで画像のソース(XAML)を設定します

6
Raxak