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} />