PropertyGrid - пользовательские имена свойств?
Я чувствую себя идиотом за то, что я был в шоке от этого, я чувствую, что ответ должен быть очевиден. Но, увы, потратив слишком много времени на просмотр обозревателя объектов и Google, я прихожу искать помощь.
У меня есть класс, который я использую в PropertyGrid. Я обнаружил, что, устанавливая CategoryAttribute для каждого свойства, он создает новую категорию для каждого элемента, очевидно. Это устанавливает мою сетку свойств, чтобы иметь [+] для каждого элемента с моим пользовательским именем в нем, и это не то поведение, которое я пытаюсь достичь.
В Visual Studio, если вы нажмете на элемент в обозревателе решений, скажем, на сборку, у него есть нулевые узлы дерева и просто список прекрасно названных свойств, то есть любая строка может идентифицировать свойство, а не только объект имя. Поэтому вместо этого:
[+ Путь к файлу]
FilePath | PropertyValue
[+ Размер файла]
FileSize | 0 KB
Я ищу:
[+ File]
путь к файлу | значение
Размер файла | 0 KB
Или даже выше, без начального [+] node. Я залил пространство имен System.ComponentModel, ища подходящий атрибут, но я не могу его найти.
Как я могу достичь этого эффекта? Должно быть возможно, Visual Studio делает это, и я считаю, что они являются одним и тем же компонентом, а не производным и расширенным.
Спасибо!
-Эрик
Ответы
Ответ 1
Используйте DisplayNameAttribute, чтобы изменить отображаемый текст (сделать его более понятным для человека), DescriptionAttribute, чтобы добавить текст справки к свойству, и CategoryAttribute для группировки свойств..
using System.ComponentModel;
[Category("Test")]
[DisplayName("Test Property")]
[Description("This is the description that shows up")]
public string TestProperty {get;set;}
Ответ 2
Вы хотите, чтобы CategoryAttribute установлен в "Файл" для свойств BOTH:
[Category("File")]
public string FilePath { get; set;}
[Category("File")]
public int FileSize { get; set;}
Я рекомендую читать " Получение максимальной пользы от .NET Property Grid Control" для других идей, которые вы можете использовать для организации ваших свойств, в том числе добавление описаний.