0

イメージのパスがリストに格納されている XAML/C# でアプリケーションを開発しています。コンピューターの C ドライブにあるファイルのパスであるため、パスにはスペースが含まれています。私はそれをバインドすることができません。使ってみた

<Image Name="ImageOffer">
                            <Image.Source>
                                <BitmapImage UriSource="{Binding ImagePath}" />
                            </Image.Source>
                        </Image>

XAMLでアプリケーションのフォルダー外から画像をバインドする方法を教えてください。ありがとう

4

1 に答える 1

3

どの場所からでも画像をバインドすることはできません。WinRT にはサンドボックス環境があるため、ライブラリ、ローカル フォルダー、アセット フォルダーなどの既知の場所からのみイメージをバインドできます。

public class ViewModel
{
    public string ImagePath { get; set; }

    public ImageSource ImgSource
    {
         get
         {
            return new BitmapImage(new Uri("ms-appx:///" + this.ImagePath));
         }
    }
}

<Image Source="{Binding ImgSource}" />

アプリケーション パッケージ内に保存されているファイルにアクセスするには、ms-appx: スキームを使用し、アプリケーションの状態に保存されているファイルにアクセスするには、ms-appdata: スキームを使用することに注意してください。アプリケーションの状態は、ローカル フォルダー、ローミング フォルダー、または一時フォルダーに格納できます。

いくつかのリソース。

ファイル リソースを読み込む方法 (C#/VB/C++ および XAML を使用した Windows ストア アプリ)

ローカル ファイル システム イメージの WinRT イメージ コントロールと ViewModel 間のバインディングの処理

于 2013-04-29T16:52:21.303 に答える