百度给做网站吗,做网站难么,品牌型网站案例,织梦绿色企业网站模板 苗木企业网站源码 dedecms5.7内核在WPF的DataGrid中希望结合使用ComboBox下拉框#xff0c;达到下拉选择绑定的效果#xff0c;在实现的过程中#xff0c;遇到了一些奇怪的问题#xff0c;因此记录下来。
网上能够查询到的解决方案#xff1a; 总共有三种ItemSource常见绑定实现方式#xff1a; 1.ItemS…在WPF的DataGrid中希望结合使用ComboBox下拉框达到下拉选择绑定的效果在实现的过程中遇到了一些奇怪的问题因此记录下来。
网上能够查询到的解决方案 总共有三种ItemSource常见绑定实现方式 1.ItemSource是静态资源 2.ItemSource是ComboBoxItem类型的内联集合 3.ItemSource是普通数据集合需要采用ElementStyle显式样式不然无法正常绑定与显示。 这三种绑定实现方式可自行搜索了解这里不做过多赘述。 编码绑定方式有两种: 1.直接使用 DataGridComboBoxColumn/,配置好ItemSource与SelectedItem 2.使用模板即使用 DataGridTemplateColumn Header“xxx” 遇到的问题
这些方法我都尝试过了但不知道为什么我实现的出现了以下问题令我十分困惑。 现状就是点击了没展开但是滑动鼠标滚轮又可以正常切换真是个莫名奇妙的问题。
最终解决方式
SettingViewModel中需要绑定为ItemSource的集合直接设定为静态类型原因是普通集合绑定会失败即使我用了上述中的显式处理还是没能成功。 采用模板而非DataGridComboBoxColumn我采用DataGridComboBoxColumn绑定时仍然出现了点击没展开但滚轮滚动能切换选择的问题。
DataGridTemplateColumn Header端口名称DataGridTemplateColumn.CellTemplateDataTemplateComboBoxNamecbPortNameWidth120Height30Margin2HorizontalAlignmentLeftItemsSource{x:Static vm:SettingViewModel.PortNames}SelectedItem{Binding PortName, ModeTwoWay, UpdateSourceTriggerPropertyChanged} //DataTemplate/DataGridTemplateColumn.CellTemplate
/DataGridTemplateColumn这样就能正常下拉选择PortNames并且让选中与datagrid集合下的portname相绑定了。最终效果