【发布时间】:2025-12-21 15:00:10
【问题描述】:
我的包含组合框的数据网格列模板如下。
<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>
所有组合框都有 Add new 作为其中的一项,其值为 -2。当用户点击 add new 时,一个新项目被添加到数据库中,并且应该被重新绑定到网格中的所有组合框。
下面是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 和绑定东西的新手 > 我该如何继续?
【问题讨论】:
标签: wpf binding datagrid combobox