在delphi时代,我都比较不喜欢直接在StringGrid上编辑数据,而且如果在这上面整个ComboBox的下拉选择框,那简直麻烦的要命。
用上WPF之后,我觉得应该直接在StringGrid上编辑了,否则的话,你在旁边就得拖出很多的TextBox和Combobox出来了,那么DataGrid就只剩下选定的作用了。
文本倒是很好说,ComboBox就麻烦了,怎么个麻烦法?Binding上去的数据没用!
1、新建一个List作为数据源,并将窗口的DataContex设为this.
代码如下 | 复制代码 |
public ObservableCollection 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的时候引用资源,两步就搞定了:
代码如下 | 复制代码 |
|
哎,老费劲了。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔