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

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

1.model定义
定义了一个枚举类,用于绑定到comboboxcolumn
2.viewmodel
viewmodel中定义了集合,绑定到datagrid的ItemsSource上

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

最后效果图差不多就是这样:
在这里插入图片描述
参考链接:
https://www.cnblogs.com/lekko/archive/2012/11/23/2784789.html

WPF DataGrid ComboBoxColumn绑定Enum类型(MVVM模式)需要在comboBoxColumn绑定一列用于选择,但是绑定总是不成功,下拉列表始终为空,经查阅资料方成功,特此记录。1.model定义定义了一个枚举类,用于绑定到comboboxcolumn2.viewmodelviewmodel中定义了集合,绑定到datagrid的ItemsSource上3.Xaml文件中①因为comboboxcolumn只能绑定静态资源还是啥的(ps:我也不知道,萌新一个,百度上看来 <Window x:Class=" WPF _ MVVM _Demo1.View.UserManage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.mic. ComboBox 是一个非常常用的下拉菜单界面控件,它的数据源ItemsSource既可以 绑定 一个List列表,也可以是一个字典,本篇文章就讲这些内容展开讲解。 首先,讲解几个常用的属性概念: ItensSource:用于指定下拉列表 绑定 的List数据对象; SelectedIndex :下拉列表中选中行的索引; DisplayMe
1、 枚举 绑定 combox的ItemsSource ItemsSource 绑定 的是个集合值,要想 枚举 绑定 ItemsSource,首先应该想到的是把 枚举 值变成集合。 方法一:使用资源里的ObjectDataProvider 如以下 枚举 public enum People Enum 前端 绑定 : <Window x:Class="ComboxT
WPF DataGrid 绑定 是一种将数据源 绑定 WPF DataGrid 控件的方法,以便以可视化的方式展示数据。在 WPF 中,可以使用多种方式 绑定 DataGrid 。其中,最常用的方式包括 绑定 到数据表格以及 绑定 到数据集。 对于 绑定 到数据表格的方式,需要先使用数据源控件建立数据表格,然后使用 WPF DataGrid 控件将其 绑定 。这种方式的优点在于数据 绑定 更加灵活,可以根据具体情况选择 绑定 单个表格、多个表格、甚至是不同数据源的表格。不过,需要注意的是,在处理数据表格的时候,需要将其 绑定 到正确的数据源,否则会导致数据丢失或者无法正常显示。 另一种方式是 绑定 到数据集,这种方式最大的优点就是可以自动将整个数据集的数据 绑定 WPF DataGrid 控件上,不需要手动处理每个数据表格。不过,需要注意的是,如果数据集比较大,可能会导致性能下降,同时也不够灵活,无法针对具体的数据表格进行更细致的操作。 无论是哪种方式,对于 WPF DataGrid 绑定 ,需要注意以下几个方面: 1.正确设置数据源、 绑定 属性以及展示方式; 2.数据 绑定 时注意调用缓存机制,以便提高性能; 3.数据 绑定 时遵循 MVVM 框架中的命令式 绑定 方式,以便更好地控制数据的展示和交互。
<DataGridTemplateColumn.CellTemplate> <DataTemplate> <ComboBox VerticalContentAlignment="Center" DisplayMemberPath="DisplayName" SelectedValuePath="Value" ItemsSource="{Binding DataContext.SeriesItems,RelativeSource={RelativeSource Findancestor,AncestorType={x:Type UserControl}}}" SelectedValue="{Binding SeriesType, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn>