在 xaml 中创建的 DataGrid 列 - 如何以编程方式填充?

DataGrid Columns created in xaml - how to fill programmatically?

我在 xaml 中创建了一个 DataGrid。代码是这样的:

<DataGrid x:Name="myDataGrid" VerticalAlignment="Top" Height="305" Margin="36,157,-36,0" AutoGeneratingColumn="dgOverviewMain_AutoGeneratingColumn" Loaded="dgOverviewMain_Loaded" MouseUp="dgOverviewMain_MouseUp" BorderBrush="{x:Null}" Background="#FFEDFDFF">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Col1"/>
            <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Col2"/>
            <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Col3"/>
        </DataGrid.Columns>
</DataGrid>

现在我想使用 C# 以编程方式添加行。

DataRow tempRow = dt_source.Rows[1];   //Get row from DataTable
myDataGrid.Items.Add(tempRow);         //Insert tempRow to myDataGrid

tempRow.ItemsArray 包含我的数据,但上面的行仅生成空白行。

我做错了什么?

您的 <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Col1"/> 没有定义应该在内容中显示的内容。因此没有任何东西绑定到每个单元格。

通过 Binding="{x:Null}",您明确表示希望它为空白。

替换为Binding="{Binding ColumnName}"