Я использую пользовательский интерфейс Avalonia и пытаюсь сделать снимки экрана моего окна и сохранить его в папку активов, а затем отобразить его в моем приложении, используя изображение с растровой картой, связанной с сохраненным путем файла. Там.
Что я попробовал
проверил, что файл изображения правильно записан в папку активов.
Пробое различные комбинации пути (абсолютный/относительный).
Используемый bravestory. /> подтвердил, что iKONAPOT правильный, печатая /регистрируя полный путь. < /p>
Используемый файл. Экспендиаты (FullPath) для проверки существования - он возвращает true. < /p>
Пробое добавление задержек, чтобы убедиться, что файл написан перед загрузкой. Фрагменты < /h2>
Метод сохранения экрана: < /p>
var folder = Path.Combine(Directory.GetParent(AppContext.BaseDirectory)!.Parent!.Parent!.Parent!.FullName, "Assets");
var fullPath = Path.Combine(folder, fileName);
bitmap.Save(fullPath); // Works correctly
< /code>
Загрузка изображения в ViewModel: < /p>
public Bitmap Ikona => new Bitmap(IkonaPot); // Throws: file not found
< /code>
Дополнительная информация < /h2>
avalonia версия: 11.0.0 < /p>
ОС: Windows 11 < /p>
ikonapot - это полный абсолютный путь, например, C: \ users assets \ screenshot0.pg < /p>
Папка активов не встроена в вывод сборки - она используется только во время выполнения. Как версия с минимальным воспроизводимым примером или примером привязки привязки изображения для Axaml.
Подробнее здесь: https://stackoverflow.com/questions/796 ... rom-assets