尝试通过 ImageSource 分配加载图片时,我收到以下运行时错误。
无法将指定的Stream用作Windows运行时IRandomAccessStream,因为此Stream不支持搜索。
具体来说,我将ImageSource对象从一个页面传递到另一个页面。 因此,我很惊讶我收到了这个错误。
我甚至尝试从ImageSource对象中提取流对象。 但是,这似乎不受支持。
任何人都可以就如何解决此问题提供指导吗?
答案 0 :(得分:0)
我面临同样的问题, 请按照以下步骤操作。
1.在你的xaml页面中添加这样一个img标签
Image x:Name =“productImage”Source =“{Binding SelectedSalesItem.Source}”
2.在任何网格调用ItemSelected =“OnSalesItemSelected”事件中称为波纹管方法。
Public async void OnSalesItemSelected(object sender,EventArgs args){
try
{
if (SaleVm.SelectedSalesItem != null)
{
OnImages();//Call point no 3 method "OnImages"
}
}
catch (Exception ex)
{
throw ex;
}
}
3.在xaml.cs页面中创建一个方法。
async void OnImages(){
try
{
if (SaleVm.SelectedSalesItem != null)
{
IFolder rootFolder = FileSystem.Current.LocalStorage;
IFolder imageFolder = await rootFolder.GetFolderAsync("ItemsImg");
IFile imageFile = await imageFolder.GetFileAsync(SaleVm.SelectedSalesItem.ItemCode + ".png");
var stream = await imageFile.OpenAsync(FileAccess.Read);
productImage.Source = ImageSource.FromStream(() => stream);
}
}
catch (Exception ex)
{
throw ex;
}
}
4。从其他类(如ViewModel)调用“OnImages()”方法。 并在运行时更改图像。