我想在aprsing一些表后动态创建一个DataGrid。 为此,我创建了一个要填充的DataGrid:
<DataGrid Name="dataGrid" BorderBrush="Transparent"
Background="#3FFFFFFF"
Padding="1" AlternatingRowBackground="#66CAE4FF" CanUserAddRows="False"
IsManipulationEnabled="True" ColumnHeaderHeight="30">
</DataGrid>
该表的内容将是一个二维数组。在填写表之前,我需要创建一个标题,因为它对于所有表内容都是相同的。 我将所有标题字符串保存在列表中:
foreach (string headerItem in header)
{
DataGridTextColumn head = new DataGridTextColumn { Header = headerItem };
dataGrid.Columns.Add(head);
}
但我的窗户是空的。我只看到灰色的ColumnHeader。
答案 0 :(得分:0)
您可以在填充表格后设置列名称,因此您具有正确的列数:
for (int i=0;i<header.Length;i++)
dataGrid.Columns[index].Header = header[index];
答案 1 :(得分:0)
对我来说效果很好。
我尝试在双击数据网格时添加标题(仅用于说明),并在我的示例MainWindow.xaml.cs中使用此事件处理程序
private void dataGrid_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
var header = new List<string>() { "asdasd" };
foreach (string headerItem in header)
{
DataGridTextColumn head = new DataGridTextColumn { Header = headerItem };
dataGrid.Columns.Add(head);
}
}