从Code后面访问DatagridTemplateColumn中的Combobox的选定值

时间:2014-03-28 13:49:37

标签: wpf xaml combobox datagridtemplatecolumn

我对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());


        }
    }

1 个答案:

答案 0 :(得分:1)

为什么不呢?

ComboBox myCombobox = (ComboBox)sender;
相关问题