小编mie*_*998的帖子

添加图像在C#wpf项目中以编程方式执行DataGrid - 如何?

我有个问题.

我希望在没有VS Designer的情况下以C#编程编写所有内容.

所以,我正在创建一个图像和DataGrid(我将它添加为MainWindow Grid的子代):

  Image img = new Image();
  Uri uri = new Uri(@"C:\d1.jpg");
  img.Source = new System.Windows.Media.Imaging.BitmapImage(uri);

  DataGrid dg = new DataGrid();
  grid1.Children.Add(dg);
Run Code Online (Sandbox Code Playgroud)

然后我想添加4列,例如3个文本和1个图像.所以首先我需要创建一个包含样本数据的DataTable和DataRow:

  DataTable dt = new DataTable();

  dt.Columns.Add("Column1");
  dt.Columns.Add("Column2");
  dt.Columns.Add("Column3");
  dt.Columns.Add("Column4", typeof(Image)); // type of image!

  DataRow dr = dt.NewRow();
  dr[0] = "aaa";
  dr[1] = "bbb";
  dr[2] = "ccc";
  dr[3] = img; // add a sample image

  dt.Rows.Add(dr);
Run Code Online (Sandbox Code Playgroud)

现在我有一个包含4列和1行数据的DataTable.

然后我需要做的就是像这样设置DataGrid的ItemsSource:

dg.ItemsSource = dt.DefaultView;
Run Code Online (Sandbox Code Playgroud)

我做错了什么?为什么在最终网格上连续有System.Windows.Controls.Image而不是真实图像?我需要绑定它还是什么?

我需要以编程方式完成的所有事情,没有设计师.

如何显示真实图像而不是该字符串?

c# wpf binding datagrid image

7
推荐指数
1
解决办法
8001
查看次数

标签 统计

binding ×1

c# ×1

datagrid ×1

image ×1

wpf ×1