2014-03-28 48 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中完成。請在此推薦我。 –