【发布时间】:2010-12-11 17:51:03
【问题描述】:
我有一个便宜的窗口,我可以在其中将数据插入数据库。我的数据库列如下:
col name(varchar),
col age (int),
col photo (image) (all NOT NULL)
现在我想将数据库中的信息检索到我的窗口中。我有一个列表框,我可以在其中检索这样的名称(LINQ 查询)
public void updateListbox(){
DataClasses1DataContext dc = new DataClasses1DataContext();
var query = from s in dc.tablename select s;
_listBox1.ItemsSource = query.ToList();
}
我用于绑定的 xaml 代码如下所示:
<ListBox ... DisplayMemberPath="Name"/>
所以名称现在显示在列表框中。
我的下一步是显示在我的窗口/表单的列表框中选择的代表人的图像/照片。我在这样的文本块中使用 age 属性做到了:
<TextBlock ... Text="{Binding ElementName=_listBox1, Path=SelectedItem.Age}" />
但我不知道如何将图像检索到我的 wpf 窗口中。
我这样保存图片
byte[] image = File.ReadAllBytes(@imagepath);
...
sqlcommandobject.Parameters.Add(new SqlParameter("@Photo", image));
...
通过在插入到数据库之前使用 openFileDialog 加载图像(-path)。只是检索是我现在的问题。我现在真的很想保持绑定尽可能简单,但我想没有办法通过执行以下操作来检索图像:
<Image ... Source="{Binding ElementName=_listBox, Path=SelectedItem.Photo}" />
由于必须将二进制数据转换回图像对象(?),我不知道如何做到这一点并将其与绑定结合起来。有人有想法吗?
感谢阅读!
【问题讨论】:
标签: sql-server wpf linq data-binding