我对datagridtemplatecolumn中的组合框的绑定工作正常但我无法从选择更改事件后面的代码中访问组合框的选定值。 我想ContentPresenter存在一些问题,它没有被映射到组合框。 这是我的XAML代码:
<DataGridTemplateColumn Header="CSV/Excel Column">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="cmbExcelColumn"
ItemsSource="{Binding ExcelColumn}"
Width="220"
SelectedValuePath="SelectedValue"
SelectionChanged="cmbExcelColumn_SelectionChanged"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
这是我的代码,用于访问组合框的选定值:
private void cmbExcelColumn_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
List<string> selectedIncrememntors = new List<string>();
dgMappingColumns.UpdateLayout();
for (int i = 0; i < dgMappingColumns.Items.Count; i++)
{
ComboBox myCombobox = dgMappingColumns.Columns[1].GetCellContent(dgMappingColumns.Items[i]) as ComboBox;
if (myCombobox.SelectedValue != null)
selectedIncrememntors.Add(myCombobox.SelectedValue.ToString());
}
}
答案 0 :(得分:1)
为什么不呢?
ComboBox myCombobox = (ComboBox)sender;