我在WPF中显示简单图像时遇到问题:
有一个Web服务返回一个字节数组。
MemoryStream stream = new MemoryStream(barrImg);
FileStream fs = new FileStream(@"c:\\temp\\text.jpg", System.IO.FileMode.OpenOrCreate);
fs.Write(barrImg, 0, barrImg.Length);
fs.Flush();
fs.Close();
出于测试目的,我将数组写入文件 - 查看此图片没问题!
然后我将文件中的图像放入类的属性进行传输,如许多其他解释所示:
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(@"c:\\temp\\text.jpg");
bitmap.EndInit();
imageFromDatabase = new Image();
imageFromDatabase.Source = bitmap;
该属性定义如下:
private Image _imageFromDatabase;
public Image imageFromDatabase
{
get { return _imageFromDatabase; }
set
{
_imageFromDatabase = value;
}
}
在显示类中,我有以下内容(属性的填充在别处执行并且有效):
picture1 = wsh.imageFromDatabase;
picture1.Height = double.NaN;
picture1.Refresh();
但是,图片中没有显示任何内容。
xaml文件显示
<Image Height="100" Name="picture1" Stretch="Fill" Width="Auto" />
表示picture1元素。
有什么想法吗?
由于
阿克塞尔
答案 0 :(得分:1)
您是否尝试过设置Source
属性?
picture1.Source = wsh.imageFromDatabase.Source;