如何以编程方式在wpf datagrid列中显示图像?

dee*_*dee 3 wpf datagrid image

我想在wpf datagrid中动态添加两列一个图像和一个文本列。

XAML代码:

 <Grid><DataGrid AutoGenerateColumns="False" Height="Auto" HorizontalAlignment="Stretch" Margin="0" Name="grid" VerticalAlignment="Stretch" Width="Auto" ></DataGrid></Grid>
Run Code Online (Sandbox Code Playgroud)

背后的代码:

 DataGridTextColumn col = new DataGridTextColumn();
  col.Header =Text1;
  col.Binding =Text1;
  grd.Columns.Add(col);
Run Code Online (Sandbox Code Playgroud)

如何添加图片列?或在该列中显示图片?

请建议

vik*_*iky 5

正如Anvaka所说,您可以使用DataGridTemplateColumn。在C#中,您可以添加创建DataGridTemplateColumn,因为这,我在这里已经添加了一个CheckBoxDataGridTemplateColumn

DataGridTemplateColumn col1 = new DataGridTemplateColumn();
col1.Header = "MyHeader";
FrameworkElementFactory factory1 = new FrameworkElementFactory(typeof(Image));
Binding b1 = new Binding("Picture");
b1.Mode = BindingMode.TwoWay;
factory1.SetValue(Image.SourceProperty, b1);
DataTemplate cellTemplate1 = new DataTemplate();
cellTemplate1.VisualTree = factory1;
col1.CellTemplate = cellTemplate1;
datagrid.Columns.Add(col1);
Run Code Online (Sandbox Code Playgroud)

在这里,Picture是ImageSource分配给ItemsSource的集合中的类的type 属性DataGrid