我正在尝试使用转换器检查本地存储中是否存在图像源。如果不使用外部网址。
<Image Source="{Binding Image, Converter={StaticResource ImageCacheConverter}}"/>
到目前为止,这是我的转换器:
public object Convert(object value, Type targetType, object parameter, string language)
{
return IfFileExist((string)value, "localimage.png");
}
public async Task<string> IfFileExist(string value, string filename)
{
var folder = ApplicationData.Current.LocalFolder;
var getFilesAsync = await folder.GetFilesAsync(CommonFileQuery.OrderByName);
var file = getFilesAsync.FirstOrDefault(x => x.Name == filename);
if (file != null)
{
return "ms-appdata:///local/" + filename;
}
return (string)value;
}
我面临的主要问题是在 IValueConverter 中有异步。但我需要返回 IfFileExist 来更改图像源。
提前致谢。