将类别添加到 .NET PropertyGrid
是否只能通过使用 CategoryAttribute
等属性注释我的数据类来将类别添加到 .NET PropertyGrid?
Is it only possible to add categories to the .NET PropertyGrid by annotating my data class with attributes like CategoryAttribute
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用
类别属性
。文档指出:例子:
You can use the
CategoryAttribute
. The documentation states:Example:
使用 ICustomTypeDescriptor 和您自己的 PropertyDescriptor 类执行此操作非常简单,并且不需要涉及太多代码。
本文在 PropertyGrid 中自定义显示集合数据详细介绍了如何执行此操作。要添加类别,您还需要覆盖 PropertyDescriptor 类中的 Category 属性。
Doing this with ICustomTypeDescriptor and your own PropertyDescriptor class is quite easy and does not involve so much code.
This article Customized display of collection data in a PropertyGrid describes how to do this in detail. For adding categories you would also need to override the Category property in your PropertyDescriptor class.
听起来您试图误用 PropertyGrid 来显示多个对象。
您可以通过编写一个
CustomTypeDescriptor
类来实现这一点,该类为您想要在网格中看到的每一行返回PropertyDescriptors
以及适当的CategoryAttribute
。这将需要大量的工作,但这是可能的。
It sounds like you're trying to mis-use the PropertyGrid to display multiple objects.
You can do that by writing a
CustomTypeDescriptor
class which returnsPropertyDescriptors
for each row you want to see in the grid, with appropriateCategoryAttribute
s.This will take a substantial amount of work, but it is possible.
有一个一组很棒的类可以直接从代码构建属性网格内容。
There is a great set of classes to build your property grid content directly from code.