0

私の Windows ストア アプリ/Metro/Win RT アプリは、サーバーからローカル フォルダーに画像をダウンロードします。実行時にイメージ コントロールをダウンロードしたイメージにバインドする必要があります。

問題は、プロジェクトにバイナリ リソースとして追加しない限り、画像が表示されないことです。

ダウンロードした画像は ProjectFolder/Data/Media に保存されています。ここで、イメージ ソースをイメージ コントロールにバインドする方法を示します。

<Image x:Name="WriterImage"  Stretch="None" Source="{Binding Path=PersonData.Photo.MediaImageSource"></Image>

public ImageSource MediaImageSource
{
    // Here _MediaUrl gets a value: ms-appx:///Data/Media/Writer1.jpg   
    BitmapImage source = new BitmapImage(new Uri(_MediaUrl));

} 

これは、Writer1.jpg をリソースとしてプロジェクトに追加した場合にのみ機能します。プロジェクトから削除すると、表示されません。

4

1 に答える 1

1

アプリケーションがアクセスできるさまざまな URL スキームがあることに注意してください。

ms-appx:///は読み取り専用の場所であり、リソースなど、アプリケーションに含まれる (コンパイルされる) ファイルを参照します。

ms-appdata:///local/アプリケーションのローカルの読み取り/書き込みストレージを指します。ファイルをダウンロードする場合は、この URL スキームを使用する必要があると思います。

上記の例では、次の URL を使用してみます。

ms-appdata:///local/Data/Media/Writer1.jpg

URL (URI) スキームの詳細については、次を参照してください: http://msdn.microsoft.com/en-us/library/windows/apps/jj655406.aspx

于 2012-12-16T23:21:42.027 に答える