我正在使用绑定到 UI 上的图像属性的视图模型,并且视图模型包含 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;
}
出于某种奇怪的原因,在以下代码中,当我在 BitmapImage 上调用 Freeze 时,它不会出现在主窗口中。我没有遇到异常或崩溃。有人可以帮我吗?我正在异步设置图像属性,因此我需要能够使用创建的图像,假设 GetImageFromUri 调用是从 UI 线程以外的线程进行的。