UWP -存储文件到ImageSource服从MVVM

本文关键字:服从 MVVM ImageSource 存储文件 UWP | 更新日期: 2023-09-27 18:07:35

我有多个StorageFile s可用作为Task<StorageFile> s在我的ViewModel,我想绑定一个图像在我的视图到它。

BitmapImage不应该在ViewModel中创建,因为它在XAML命名空间中并且需要UI线程(我没有这样做)。

我该如何解决这个问题?使用ValueConverter不能完成,因为打开StorageFile是异步的…

PS:我不能使用URI, StorageFile位于LocalCache文件夹中…

UWP -存储文件到ImageSource服从MVVM

尝试从StorageFile类中使用Path属性:

<ListView ItemsSource="{Binding ImageItems}"
            Grid.Row="1">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <TextBlock Text="{Binding Path}"/>
                <Image Grid.Row="1">
                    <Image.Source>
                        <BitmapImage UriSource="{Binding Path}"/>
                    </Image.Source>
                </Image>
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>

其中ImageItemspublic List<StorageFile> ImageItems属性