combox数据过滤 wpf_WPF DataGrid中的ComboBox如何绑定数据

在delphi时代,我都比较不喜欢直接在StringGrid上编辑数据,而且如果在这上面整个ComboBox的下拉选择框,那简直麻烦的要命。

用上WPF之后,我觉得应该直接在StringGrid上编辑了,否则的话,你在旁边就得拖出很多的TextBox和Combobox出来了,那么DataGrid就只剩下选定的作用了。

文本倒是很好说,ComboBox就麻烦了,怎么个麻烦法?Binding上去的数据没用!

1、新建一个List作为数据源,并将窗口的DataContex设为this.

public ObservableCollection listDepartments{set;get;}

listDepartments = DB.GetCollection();

this.DataContext = this;

2、DataGrid中直接绑定listDepartments

上面的做法,是一般控件的数据绑定的方法,但是放在这里不灵了!

那就赶紧找解决方法,网上的东西一大堆,但是都不解决问题,大概说法有:

1、Combobox在DataGrid里面是没有DataContex的,因此就绑定不到TreeView.

2、Combobox在DataGrid只能绑定静态资源。

3、还有说Anccerster不对的。

去微软的MSDN看看:

使用下列选项之一,若要填充下拉列表,首先设置 ComboBox 的 ItemsSource 属性:

静态资源。 有关更多信息,请参见 StaticResource 标记扩展。

x: 静态代码实体。 有关更多信息,请参见 x:Static 标记扩展。

ComboBoxItem 类型的内联集合。

我靠,要求还真高,就只有以下三种情况可以:静态资源,静态代码实体,还有一个就是把你的List数据先转换成ComboBoxItem的集合。

那么,那种方法最方便呢,第二种:

先在资源中添加静态的实体,然后再Binding的时候引用资源,两步就搞定了:

哎,老费劲了。

如无特别说明,本博客文章皆为原创。转载请说明,来自吵吵博客。

吵吵微信朋友圈,请付款实名加入:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值