Сделал новый тестовый проект только для этого, с кнопкой и изображением. MyImage.png находится в рабочем каталоге отладки проекта и НЕ включается в проект.
Это прекрасно работает с указанием абсолютного пути:
private void BtnLoadFromFile_Click(object sender, RoutedEventArgs e)
{
Uri fileUri = new Uri("C:/blah/blah/blah/MyImage.png");
BitmapImage myimage = new BitmapImage(fileUri);
Imagebox.Source = myimage;
}
Это НЕ показывает никакого изображения , с относительным путем:
private void BtnLoadFromFile_Click(object sender, RoutedEventArgs e)
{
Uri fileUri = new Uri("MyImage.png", UriKind.Relative);
BitmapImage myimage = new BitmapImage(fileUri);
Imagebox.Source = myimage;
}
Однако я заметил, что относительный путь работает, если я установил точку останова в последней строке, проверил свойства myimage (он содержит данные, указывающие, что MyImage.png был успешно найден) , а затем продолжить исполнение. В этот момент изображение появляется. Я пользуюсь Visual Studio 2019 Community.
Я очень озадачен, почему это происходит.