2014-03-28 26 views
0

我在datagridtemplatecolumn中的组合框的绑定工作正常,但我无法从选择更改的事件后面的代码中访问选定的组合框的值。 我想ContentPresenter有一些问题没有被映射到组合框。 这是我的XAML代码:从代码中访问DatagridTemplateColumn中的组合框的选定值

<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

为什么不呢?

ComboBox myCombobox = (ComboBox)sender; 
+0

谢谢。你的代码正在帮助我们前进。如何像这样绑定源文件。'cmbExcelColumn.DisplayMemberPath = Datatble1.Columns [“SHORTNAME”]。ToString();'这里的cmbExcelColumn是组合框。我只需要在CodeBehind中完成。请在此推荐我。 –