2

我的ApplicationData.Current.LocalFolder文件夹中有一个图像列表。我想在 Image 控件中显示第一张图像。

在我的视图模型类中,我有以下代码:-

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 数据绑定到 Path 属性,而不是 Name 属性。

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" />

这是 Image.Source 的打印屏幕,显示为 StorageFile.Path:

Image.Source 显示到 StorageFile.Path

于 2012-12-22T22:42:35.613 回答