我把我的字母图片放在一个单独的表格中,然后我为此定义了一个外键 我现在想要点击数据网格视图中的任何数据,以在图像的控制中显示该级别的照片。 我写了检索照片的命令,当然,我不知道它是否正确,我不知道如何控制图像。 代码
SqlConnection imageConnection = new SqlConnection(@"Data Source = ZAHRA; Initial Catalog = Baygani; inte");
SqlCommand imageCommand = new SqlCommand(@"select Pictures.pic1,Pictures.pic2,Pictures.pic3,Pictures.pic4,Pictures.pic5,Pictures.pic6,Pictures.pic7,Pictures.pic8,Pictures.pic9,
Pictures.pic10 from Pictures,Latters where Pictures.idlatter=Latters.id ", imageConnection);
imageConnection.Open();
SqlDataReader imageReader = imageCommand.ExecuteReader();
string imageFilename = (string)imageReader.GetValue(0);
byte[] imageBytes = (byte[])imageReader.GetValue(1);
MemoryStream ms = new MemoryStream(imageBytes);
答案 0 :(得分:1)
假设您使用Bindings在UI中显示数据并因此使用viewmodels,我建议使用ImageSource。
要从字节数组初始化ImageSource,我编写了以下方法:
public ImageSource LoadImageSourceFromBytes(byte[] imageBytes)
{
BitmapImage bitmapImage = new BitmapImage();
using (MemoryStream imageStream = new MemoryStream(imageBytes))
{
bitmapImage.BeginInit();
bitmapImage.StreamSource = imageStream;
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.EndInit();
}
bitmapImage.Freeze();
return bitmapImage;
}