C#WPF DataGrid可编辑下拉列表列实现

WPF 的 DataGrid 里加个可编辑的 ComboBox,其实没你想的那么麻烦。用两种方式都能搞定:DataGridTemplateColumnDataGridComboBoxColumn,但我比较推荐前者。为什么?灵活,自定义样式、行为都方便,尤其对复杂业务场景,能省不少折腾。

你可以用DataGridTemplateColumn包一层ComboBox,模板里想怎么搞就怎么搞,绑定也简单明了。比如绑定一个枚举或者字典,选中值还能立即响应修改,体验还挺丝滑的。

DataGridComboBoxColumn也能用,适合场景简单、样式不挑剔的情况。它直接内置 ComboBox,绑定个 ItemsSource、SelectedValue 就行。就是不太好改样式,扩展性差点意思。

想提升样式细节?可以顺手看看WPF ComboBox 样式改进这篇,样式不满意的你肯定用得上。还有个DataGrid 即时编辑的文章,讲的逻辑也蛮贴近业务。

顺手贴个模板例子,免得你找:


  
    
      
    
  
  
    
      
    
  

如果你数据结构多变、需要样式统一,还是走DataGridTemplateColumn这条路稳当点。懒得折腾的话,直接套DataGridComboBoxColumn也能跑。

zip 文件大小:91.64KB