开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 6242|回复: 0

如何在WinForms PropertyGrid控件中使用自定义编辑器

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-8-28 15:00:29 | 显示全部楼层 |阅读模式
DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。想要体验?点击下载>>
遇到的问题
当使用DefaultEditors属性将类型的自定义编辑器添加到PropertyGrid时,除非该类型具有EditorAttribute(编辑器的实际类型似乎无关紧要),否则将禁用该编辑器。
在DevExpress版本18.1中,使用Color扩展ColorEditor正常工作;但在v19.2中,禁用了CustomColor的编辑器,启用了CustomColorAttr的编辑器。
解决方案
官方技术团队修复此错误后并更改了操作: PropertyGridControl - The Readonly attribute does not work with a custom editor。在之前没有考虑标准的DescriptorContext.IsValueEditable方法,这导致了错误的结果,现在在代码中正确使用此方法。
如果尝试将对象分配给标准PropertyGrid,则由于DescriptorContext.IsValueEditable方法返回false,因此将获得相同的结果。 反过来,此方法返回false,因为用于自定义类的类型转换器无法将字符串值转换为您的类型。 ColorEditor使用可以执行此类转换的ColorConverter。
因此,要启用对自定义类的编辑,您需要应用支持从字符串值到类型转换的类型转换器。

DevExpress技术交流群2:775869749      欢迎一起进群讨论


回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-4 16:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表