我有一个带有 CanUserAddRows =“True”选项的wpf数据网格。在datagrid我有2个组合框 1是 DataGridComboBoxColumn ,第2个是 templateColumn ,它再次包含组合框元素。 两个组合框都有相同的项目源。 当我从代码隐藏填充数据网格时, newitemplaceholder 被添加到数据网格到目前为止一切正常。 当用户从DataGridComboboxColumn中选择一个值然后更改单元格时,单元格会提交新值,并在数据网格中添加一个新行“newitemplaceholder”。当我尝试使用datatemplate列中的组合框时,情况并非如此。 我可以帮你解决这个问题吗?
<DataGrid CanUserAddRows="True" AutoGenerateColumns="True" x:Name="DGDetails" Margin="10,103,10,44" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="Account" Width="250">
<DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<ComboBox
Width="200"
ItemsSource="{Binding AccountsSource.Source, UpdateSourceTrigger=PropertyChanged, RelativeSource= {RelativeSource AncestorType={x:Type UserControl}}}"
DisplayMemberPath="Name"
SelectedValuePath="ID"
SelectedValue="{Binding LineAccountID, UpdateSourceTrigger=PropertyChanged}" BorderBrush="{x:Null}" Background="{x:Null}" BorderThickness="0,0,0,1" IsEditable="True">
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridComboBoxColumn Width="150"
Header="Account"
ItemsSource="{Binding AccountsSource.Source, UpdateSourceTrigger=PropertyChanged, RelativeSource= {RelativeSource AncestorType={x:Type UserControl}}}"
DisplayMemberPath="Name"
SelectedValuePath="ID"
SelectedValueBinding="{Binding LineAccountID}">
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>