嘿!這是我的問題: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