2

ApplicationData.Current.LocalFolderフォルダに画像のリストがあります。Image コントロールに最初の画像を表示したい。

私のviewmodelクラスには、次のコードがあります:-

StorageFolder folder = ApplicationData.Current.LocalFolder;
IReadOnlyList<StorageFile> files = await folder.GetFilesAsync();
if (files.Count > 0)
{
    vm.SelectedImage = files[0].Name;
}

私のXamlには次のコードがあります:

<Image>
       <Image.Source>
           <BitmapImage UriSource="{Binding SelectedImage, Mode=OneWay}" CreateOptions="BackgroundCreation"/>
        </Image.Source>
</Image>

しかし、画像を表示するために渡す正しい文字列がわかりません。助けていただければ幸いです。

ロス

4

1 に答える 1

9

IsoStore データバインディングを機能させる最も簡単な方法は、Image.Source を Name プロパティではなく Path プロパティにデータバインドすることです。

private async void SetImage()
{
    var files = await ApplicationData.Current.LocalFolder.GetFilesAsync();
    this.DataContext = files.First();
}

XAML データバインディング:

 <Image x:Name="img" Source="{Binding Path}" Width="100" Height="100" />

そして、これは StorageFile.Path として表示される Image.Source の印刷画面です。

StorageFile.Path まで表示される Image.Source

于 2012-12-22T22:42:35.613 に答える