C# 在WPF数据网格上显示来自数据库的图像
我想在数据库的C# 在WPF数据网格上显示来自数据库的图像,c#,wpf,wpfdatagrid,C#,Wpf,Wpfdatagrid,我想在数据库的DataGrid中显示图像,我正在使用WPF [ 我可以检索图像名称,正如您在图像列中看到的,但我无法显示它 <DataGrid.Columns> <DataGridTextColumn Header="ID" Binding="{Binding Path=Studentid}"/> <DataGridTemplateColumn Header="Picture" Width="50"> <D
DataGrid
中显示图像,我正在使用WPF
[
我可以检索图像名称,正如您在图像列中看到的,但我无法显示它
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=Studentid}"/>
<DataGridTemplateColumn Header="Picture" Width="50">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Stretch="Fill" Source="{Binding Images/Students/ImageColumnNameInDatabase}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
尝试在DataTemplate中绑定图像源,如
<DataGridTemplateColumn Header="Image" Width="SizeToCells" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Image}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
或者你们可以参考这个问题。以下是我所做的
使用图像控件在datagrid中添加一个datatemplate,如下所示
<DataGridTemplateColumn Header="File Type" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Height="25" Width="50" Source="{Binding FileIcon}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
public class Version
{
public string FileIcon { get; set; }
}
ObservableCollection<Version> items = new ObservableCollection<Version>();
items.Add(new Version()
{
FileIcon = "Your Database Variable",
});
YourDataGrid.ItemsSource = null;
YourDataGrid.ItemsSource = items;
现在唯一需要做的就是绑定并提供“FileIcon”的路径,然后像这样更新DataGrid的ItemSource
<DataGridTemplateColumn Header="File Type" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Height="25" Width="50" Source="{Binding FileIcon}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
public class Version
{
public string FileIcon { get; set; }
}
ObservableCollection<Version> items = new ObservableCollection<Version>();
items.Add(new Version()
{
FileIcon = "Your Database Variable",
});
YourDataGrid.ItemsSource = null;
YourDataGrid.ItemsSource = items;
observetecollection items=新的observetecollection();
items.Add(新版本()
{
FileIcon=“您的数据库变量”,
});
YourDataGrid.ItemsSource=null;
YourDataGrid.ItemsSource=项目;
图像从何而来?您尝试了什么?显示您的代码。请发布您的代码以显示您的努力。看起来您没有以正确的方式绑定图像。我无法理解在何处提供显示图像的相对文件夹路径,还有人认为我正在DataGrid中检索图像,但仅限于按以下方式保存的图像C:\VSprojects\Images\play.png正在显示,但另一方面,我只是将名称保存在数据库中,如play.png,这些图像在bin>Images>Students文件夹中。我理解,但我的图像保存在bin>Images中folder@BilalMásInteligente:请发布您的代码。然后只有我才能理解真正的问题。SqlDataAdapter da=new SqlDataAdapter(cmd);da.Fill(dt);datagridv.ItemsSource=dt.DefaultView;