C# 如果AutoGenerateColumns为false,则DataGrid不会正确绑定到DataGrid

C# 如果AutoGenerateColumns为false,则DataGrid不会正确绑定到DataGrid,c#,wpf,data-binding,datagrid,datatable,C#,Wpf,Data Binding,Datagrid,Datatable,我已经被这件事逼疯了,我希望我只是错过了一些明显的东西 我有一个DataGrid我想绑定到内存中的DataTable。当AutoGenerateColumns设置为true时,我可以编辑字段并将更改传播到datatable,一切都很好。问题是我想为“状态”字段设置一个下拉组合框。然后,我将AutoGenerateColumns设置为false,并在XAML中手动添加列标题。当我这样做时,我不能再编辑这些字段并使更改保持不变,而是在单击“离开”后,每个字段都是空白的。我在调试期间检查了Datagr

我已经被这件事逼疯了,我希望我只是错过了一些明显的东西

我有一个
DataGrid
我想绑定到内存中的
DataTable
。当AutoGenerateColumns设置为true时,我可以编辑字段并将更改传播到datatable,一切都很好。问题是我想为“状态”字段设置一个下拉组合框。然后,我将
AutoGenerateColumns
设置为
false
,并在XAML中手动添加列标题。当我这样做时,我不能再编辑这些字段并使更改保持不变,而是在单击“离开”后,每个字段都是空白的。我在调试期间检查了Datagrid列的状态,发现绑定读取为null。你知道我做错了什么吗

XAML代码:

<DataGrid Margin="31,29,0,29" Name="dgTickets" RowEditEnding="dgTickets_RowEditEnding" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="ID #" x:Name="ID" />
            <DataGridTextColumn Header="Customer Name" x:Name="CustomerName" />
            <DataGridTextColumn Header="Phone #" x:Name="Phone"/>
            <DataGridComboBoxColumn Header="Status" x:Name="Status"/>
            <DataGridCheckBoxColumn Header="Bool?" x:Name="bool1"/>
            <DataGridCheckBoxColumn Header="Bool?" x:Name="bool2"/>
            <DataGridCheckBoxColumn Header="Bool?" x:Name="bool3"/>
            <DataGridTextColumn Header="Notes" x:Name="Notes"/>
        </DataGrid.Columns>
    </DataGrid>

任何建议都将不胜感激。我尝试了几种不同的方法让这两个元素一起工作,但如果标题是手动定义的,我似乎无法让这两个元素正确绑定。

我认为您只需要在其中添加绑定,例如:

<DataGridTextColumn Header="Customer Name" x:Name="CustomerName" Binding={Binding path=CustomerName} />

效果非常好。我确实需要找一本关于这个主题的书。非常感谢。
<DataGridTextColumn Header="Customer Name" x:Name="CustomerName" Binding={Binding path=CustomerName} />