Stack Overflow на русском Asked by Ari100krat on November 5, 2021
При отображении данных в GridControl столкнулся с такой сложностью:
Имеется свойство в в модели для получения изображения из byte[]:
public Image ImgPhoto
{
get
{
MemoryStream ms = new MemoryStream(this.Photo.Data);
Image image = Image.FromStream(ms);
return image;
}
}
Так вот, как мне вывести это изображение в GridControl. Буду благодарен за любую помощь.
Мне подсказали, что надо использовать BitmapImage вместо Image. Вдруг кому-то пригодится.
public BitmapImage ImgPhoto
{
get
{
MemoryStream stream = new MemoryStream();
stream.Write(this.Photo.Data, 0, this.Photo.Data.Length);
stream.Position = 0;
System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
BitmapImage returnImage = new BitmapImage();
returnImage.BeginInit();
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
ms.Seek(0, SeekOrigin.Begin);
returnImage.StreamSource = ms;
returnImage.EndInit();
return returnImage;
}
}
Если картинку нужно вывести в столбце таблицы, то попробуйте сделать это следующим образом:
<dxg:GridControl ...>
<dxg:GridColumn Header="Изображение"
Binding="{Binding BitmapImageData}">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<dxe:ImageEdit ShowMenuMode="Hover"
Source="{Binding Value}"
MaxHeight="500"
MaxWidth="{Binding Width, ElementName=EditParamView}"/>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
</dxg:GridControl>
Answered by Nikolay on November 5, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP