ちょっと、そこ!これが私の質問です:
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を試しました...すべて無駄になりました。
前もって感謝します...