嘿!这是我的问题:WPF DataGrid组合框列:在列中传播标题组合框
我有一个WPF中的Datagrid,我有第一列是DataGridComboBoxColumn。
我想要做的是为该列还包含一个组合框的标题:改变标题并在列中传播。
我可以直观地看到这一点,但是当我提交数据时,与Datagrid绑定的列表不包含新的组合框值。
<dg:DataGridComboBoxColumn SelectedItemBinding="{Binding BIBStatus}"
ItemsSource="{Binding Source={StaticResource typeStatus}}"
Width="0.20*">
<dg:DataGridComboBoxColumn.HeaderTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="Built-In Bridge"/>
<ComboBox SelectedItem="{Binding BIBStatus}"
SelectionChanged="ComboBox_SelectionChanged"
ItemsSource="{Binding Source={StaticResource typeStatus}}"/>
</StackPanel>
</DataTemplate>
</dg:DataGridComboBoxColumn.HeaderTemplate>
</dg:DataGridComboBoxColumn>
在ComboBox_SelectionChanged我有以下代码:
DataGridColumn comboCol = this.gridResults.Columns[0];
for (int i = 0; i < this.gridResults.Items.Count; i++)
{
ComboBox myCmBox = (comboCol.GetCellContent(this.gridResults.Items[i]) as ComboBox);
myCmBox.SelectedValue = ((ComboBox)sender).SelectedValue;
}
当我提交了数据,我提交的名单是的DataContext到DataGrid;如果我一次更改第一列寻址某一行的值(即,单击每行中具有组合框的单元格),则这些值将传播到DataContext中的列表,但是如果我通过标题更改第一列的值它不是。
有谁能告诉我我错过了什么吗?我猜这是我影响每一行的方式,但我尝试过SelectedValue,SelectedItem和SelectedIndex ......都无济于事。
在此先感谢...
由于您正在进行双向数据绑定,因此更改数据源应更改组合框的selecteditem。当你直接设置BIBStatus时会发生什么? – 2009-07-28 17:17:05