WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)

WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)

需要在comboBoxColumn绑定一列用于选择,但是绑定总是不成功,下拉列表始终为空,经查阅资料方成功,特此记录。

1.model定义
定义了一个枚举类,用于绑定到comboboxcolumnWPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)
2.viewmodel
viewmodel中定义了集合,绑定到datagrid的ItemsSource上
WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)
3.Xaml文件中
①因为comboboxcolumn只能绑定静态资源还是啥的(ps:我也不知道,萌新一个,百度上看来的,别人这么做我就跟着做了),总之就是先创建这个,其中,这个j:JSign,JSign是你创建的枚举类型,然后j是它所在的名称控件,要先引用一下。别忘了这个MethondName = “GetValues”,我最开始百度有个回答就是这个,然后没有加这条,然后我看别人的回答觉得都一样,就半天没弄出来,最后才看到这条。
WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)
②将在viewmodel中创建的集合绑定到datagrid,记得往里面添加数据,没数据的话,datagrid里会不显示行,就看不到combox的下拉列表啦。
WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)
③这种下拉列表,有两种方式实现,一种是创建Templatecolumn,还有一种就是comboboxcolumn,这个百度上一搜全是这两种,甚至都长得一样,我的当然也是,因为我也是抄来的,但还是给自己留个记录。
a.ComboBoxColumn实现
WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)
b.TemplateColumn实现
WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)

最后效果图差不多就是这样:
WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)
参考链接:
https://www.cnblogs.com/lekko/archive/2012/11/23/2784789.html