Я использую модель представления, связанную со свойством изображения в пользовательском интерфейсе, а модель представления содержит свойство ImageSource. Я установил это свойство с помощью следующей функции
private BitmapImage GetImageFromUri(Uri urisource)
{
if (urisource == null)
return null;
var image = new BitmapImage();
image.BeginInit();
image.UriSource = urisource;
image.EndInit();
image.Freeze(); //commenting this shows the image if the routine is called from the proper thread.
return image;
}
По какой-то странной причине в следующем коде, когда я вызываю Freeze для моего BitmapImage, он не появляется в главном окне. Я не получаю никаких исключений или сбоев. Кто-нибудь может мне помочь с этим?
Я устанавливаю свойство изображения асинхронно, поэтому мне нужно иметь возможность использовать созданное изображение, предполагая, что вызов GetImageFromUri был сделан из потока, отличного от потока пользовательского интерфейса.