如何使用DefaultEditors属性网格自定义编辑器

今天就跟大家聊聊有关如何使用DefaultEditors属性网格自定义编辑器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

遇到的问题

当使用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。

因此,要启用对自定义类的编辑,您需要应用支持从字符串值到类型转换的类型转换器。

看完上述内容,你们对如何使用DefaultEditors属性网格自定义编辑器有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。