WPF datagrid 写入指定列数据
时间: 2023-08-10 09:02:50 浏览: 299
你可以通过以下方式向 WPF DataGrid 中的指定列写入数据:
1. 首先,给 DataGrid 中的每一列指定一个唯一的名称,例如:
```xml
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}" />
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="Age" Binding="{Binding Age}" />
</DataGrid.Columns>
</DataGrid>
```
在上面的代码中,我们为 DataGrid 中的每一列分别指定了一个唯一的名称:ID、Name 和 Age。
2. 然后,在代码中获取指定的列并写入数据,例如:
```csharp
// 获取指定的列
var column = dataGrid.Columns.FirstOrDefault(c => c.Header.ToString() == "Name");
if (column != null)
{
// 写入数据
foreach (var item in dataList)
{
var cellContent = new TextBlock();
cellContent.Text = item.Name;
var cell = new DataGridCell();
cell.Content = cellContent;
var row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromItem(item);
if (row != null)
{
row.Cells[column.DisplayIndex] = cell;
}
}
}
```
在上面的代码中,我们首先获取了指定名称的列(这里以 Name 列为例),然后遍历数据列表并将每个数据项的 Name 属性写入到该列中。具体地,我们创建一个 TextBlock 控件来存储单元格内容,然后创建一个 DataGridCell 控件来包含 TextBlock 控件,并将其赋值给指定行和列的单元格。
注意,上面的示例代码仅供参考,具体实现方式可能因项目情况而异。
阅读全文