コンボ ボックスを含むデータ グリッド列テンプレートは次のとおりです。
<my:DataGridTemplateColumn x:Name="dgColReferece" Header="References" >
<my:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="cmbReferece_SRV" Loaded="cmbReferece_SRV_Loaded" Width="160" SelectionChanged="cmbReferece_SRV_SelectionChanged"
IsTextSearchEnabled="True" SelectedValue="{Binding Reference, Mode=TwoWay}" >
</ComboBox>
</DataTemplate>
</my:DataGridTemplateColumn.CellTemplate>
</my:DataGridTemplateColumn>
すべてのコンボ ボックスには、値が -2 の Add new が 1 つの項目として含まれています。ユーザーが [新規追加] をクリックすると、新しいアイテムがデータベースに追加され、グリッド内のすべてのコンボボックスに再バインドされます。
以下は私のコードビハインドですSelectionChanged
private void cmbReferece_SRV_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ ComboBox objComboBox = (ComboBox)sender;
if (objComboBox.SelectedValue.ToString() == "<-- Add New -->")
{
//code for saving new item entered by user to database
if (IsSaved)
{
DataSet dsReference = (DataSet)GetFStdReference();
CommonCalls.BindDropDownList(cmbReferece_SRV, dsReference.Tables[0], "Reference", "Reference");
}
objComboBox.SelectedValue = -1;
}
}
これにより、選択した行のコンボボックスにのみ新しいアイテムがバインドされます。しかし、すべてのコンボボックスにバインドする必要がありますか? これどうやってするの。私は wpf とバインディングの初心者です > どうすれば続行できますか?