Можно ли добавлять категории в .NET PropertyGrid, аннотируя мой класс данных такими атрибутами, как CategoryAttribute
?Добавить категории в .NET PropertyGrid
ответ
Выполнение этого с помощью ICustomTypeDescriptor и вашего собственного класса PropertyDescriptor довольно просто и не требует большого количества кода.
В этой статье Customized display of collection data in a PropertyGrid описано, как это сделать подробно. Для добавления категорий вам также необходимо переопределить свойство Category в классе PropertyDescriptor.
Вы можете использовать CategoryAttribute
. В документации указано:
Новая категория может быть создана для любого имени, указав название категории в конструкторе для
CategoryAttribute
.
Пример:
[
Category("MyCategory"),
Description("Specifies something")
]
public string Something { //... }
Вопрос был атрибут категории единственный способ, или есть другой! : P - N – WraithNath
@WraithNath вы получили это правильно! – msfanboy
@WraithNath, правда? Я не понял этого, но я полагаю, что вы сейчас прямо сейчас, я прочитал его снова ;-) –
Это звучит, как вы пытаетесь СУИ-использовать PropertyGrid для отображения нескольких объектов.
Вы можете сделать это, написав класс CustomTypeDescriptor
, который возвращает PropertyDescriptors
для каждой строки, которую вы хотите видеть в сетке, с соответствующими CategoryAttribute
. Это займет значительную часть работы, но это возможно.
Существует great set of classes to build your property grid content непосредственно из кода.
В отличие от чего? Ваш вопрос непонятен. – SLaks