WPF的DataGrid中,如何让两个ComboBox联动?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF的DataGrid中,如何让两个ComboBox联动?相关的知识,希望对你有一定的参考价值。

使用的是同一个ViewModel
如图,选择"名称1"列,内容变化时,"名称2"列也同时变化
BTW. 所有的业务代码,不能写在cs文件里,而要写在ViewModel中

可以向楼上一样在前端用binding去做,个人建议在后台用combobox的selectionChanged事件去做。这样逻辑更清楚,方便维护和更改。方法就是“名称1”列的所有combobox都加个selectonChanged事件:
参考代码:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)

ComboBox combobox = sender as ComboBox;
然后你可以用combobox.SelectedValue去执行自己的逻辑
追问

公司里使用框架,是不允许将后台写在CS文件中的,只能用viewmodel的方法进行绑定的方式,所以无法得到这个 sender as ComboBox;

追答

那就在viewmodel里将逻辑代码写的combobox事件,然后大不了设置第一列的combobox里的tag,用来做可以操纵这个事件的条件

参考技术A 关于WPF绑定那个本人不太了解,不过,刚才试了一下,貌似你可以用List<T>的Find和那个字典Dictionary<TKey,Tvalue>来控制联动... 参考技术B 可以用Binding 去实现。<ComboBox Text=”Binding Source=Employee, Path=EmpName” />具体看下:
http://blog.sina.com.cn/s/blog_83a4857e01011w9f.html
参考技术C 看看局域网设置中 -代理服务器 -高级- 对下列开头的字符不使用代理 看看别的好使的机器上有没有添加字符 还有就是INTERNET 选项里的安全-前三个项目和别的机器对比下 应该要填写一些站点 还有高级里的选项也对比下本回答被提问者采纳

以上是关于WPF的DataGrid中,如何让两个ComboBox联动?的主要内容,如果未能解决你的问题,请参考以下文章

wpf如何让datagrid每一行重叠显示,一行叠在另外一行上面

如何让 WPF DataGrid 单元格右对齐而不使新行上的可选区域变小?

WPF DataGrid 样式-Silverlight DataGrid?

WPF C# DataGrid 绑定到存储过程

WPF DataGrid 设置那个属性不让用户添加和删除行呢?

将datagrid WPF绑定到带有列表的两个不同类?