当前位置: 首页 > news >正文

WPF 表格中单元格使用下拉框显示枚举属性的一种方式

1.实体类中有枚举类型的属性:

public class BelowCameraPosition: MachinePositionBase
{public CameraPosition CameraPositionType { get; set; }
}
public enum CameraPosition
{[Description("×")]Null,[Description("避让位置")]Avoid
}

然后使用表格控件显示实体类列表,这里的控件可能是第三方控件,我这里演示的也是第三方控件实现的。

第一步:

定义转换器,提供下拉框资源:

public class EnumToItemsSourceConverter : IValueConverter
{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){if (value == null || !value.GetType().IsEnum)return null;var enumType = value.GetType();var items = new List<KeyValuePair<string, object>>();foreach (var enumValue in Enum.GetValues(enumType)){var field = enumType.GetField(enumValue.ToString());var attribute = field.GetCustomAttribute<DescriptionAttribute>();var displayName = attribute?.Description ?? enumValue.ToString();items.Add(new KeyValuePair<string, object>(displayName, enumValue));}return items;}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){throw new NotImplementedException();}
}

第二步:

修改表格列定义:

<telerik:GridViewComboBoxColumnWidth="*"DataMemberBinding="{Binding CameraPositionType, Mode=TwoWay}"Header="类型"ItemsSourceBinding="{Binding CameraPositionType, Converter={StaticResource EnumToItemsSourceConverter}}"DisplayMemberPath="Key"SelectedValuePath="Value" />

效果:

其中类型一列即为枚举列

完毕。

http://www.lryc.cn/news/614581.html

相关文章:

  • 数据大集网:重构企业贷获客生态的线上获客新范式​
  • Ignite内部事件总线揭秘
  • Android 之 OOM的产生和解决办法
  • K-Means 聚类
  • 嵌入式第二十三课 !!!树结构与排序(时间复杂度)
  • AD布线时,如何设置线宽和线间距?简单
  • OpenAI 时隔多年再开源!GPT-OSS 120B/20B 发布,支持本地部署,消费级 GPU 即可运行
  • 五十六、【Linux系统nginx服务】nginx虚拟主机实现
  • InfluxDB 权限管理与安全加固(一)
  • leetcode热题——有效的括号
  • 安全合规1--实验:ARP欺骗、mac洪水攻击、ICMP攻击、TCP SYN Flood攻击
  • C++AVL树
  • windows自动获取wsl IP,并开启端口转发。
  • 供应链项目中产品的ABC XYZ分类法弊端(十)
  • 常见通信协议详解:TCP、UDP、HTTP/HTTPS、WebSocket 与 RPC
  • [科普] AI加速器架构全景图:从GPU到光计算的算力革命
  • 【0基础3ds Max】主工具栏介绍(上)
  • [链表]142. 环形链表 II
  • Java 大视界 -- 基于 Java 的大数据分布式计算在气象灾害数值模拟与预警中的应用(388)
  • 大模型性能测试实战指南:从原理到落地的全链路解析
  • 【Day 19】Linux-网站操作
  • 小程序难调的组件
  • Vite 深度解析:现代前端开发引擎
  • AI 记忆管理系统:工程实现设计方案
  • Introducing Visual Perception Token into Multimodal Large Language Model论文解读
  • 脚本统计MongoDB集合结构信息
  • 关于数据结构6-哈希表和5种排序算法
  • WSL安装MuJoco报错——FatalError: gladLoadGL error
  • Vue框架总结案例
  • HTML <picture> 元素:让图片根据设备 “智能切换” 的响应式方案