wpf datagrid templateColumn中的ComboBox不会为newitemplaceholder引发事件

时间:2014-11-15 10:41:51

标签: wpf datagrid combobox datatemplate commit

我有一个带有 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>

0 个答案:

没有答案