Я показываю изображение в приложении Xamarin.Forms UWP, изображение находится в папке LocalState приложения, а источник изображения устанавливается во время выполнения.Xamarin.Forms UWP Изображение никогда не закрывается открыто Файл
Как только изображение отображается, основной файл открывается и поэтому не может быть переименован, например. Проводник Windows.
Но даже когда я перемещаюсь от страницы, отображающей изображение, или задаю источник изображения нулевым или другим изображением, файл все еще открыт и не может быть переименован до закрытия приложения UWP. Такое поведение не наблюдается на Android или iOS.
Как я могу отпустить файл, отображаемый изображением?
XAML Тэг для изображения:
<Image x:Name="img"/>
Установка Image.Source:
string basePath = @"C:\Users\ss\AppData\Local\Packages\f736c883-f105-4d30-a719-4bf328872f5e_nh7s0b45jarrj\LocalState";
img.Source = ImageSource.FromFile(Path.Combine(basePath, "beleg.jpg"));
Спасибо!
EDIT: Это мое рабочее решение, благодаря помощи Clemens!
IFolder localStorage = FileSystem.Current.LocalStorage;
IFile sourceFile = await localStorage.GetFileAsync("beleg.jpg");
var memoryStream = new MemoryStream();
using (var fileStream = await sourceFile.OpenAsync(FileAccess.Read))
{
await fileStream.CopyToAsync(memoryStream);
}
memoryStream.Position = 0;
img.Source = ImageSource.FromStream(() => memoryStream);
Вы, вероятно, может также заменить '' CopyTo' по CopyToAsync' ждут. – Clemens