Редактор и список коллекций .NET PropertyGrid ‹T›

Я использую элемент управления PropertyGrid в приложении WinForms. Само окно привязывается к классу, который содержит список объектов. Хотя я бы предпочел, чтобы сетка просто расширялась и позволяла пользователю изменять элементы, как древовидное представление, я соглашусь на редактор коллекции , если он перестанет перечислять элементы как «Roswell». Windows.Command.Model "(полностью разрешенное имя класса).

Я применил атрибут DisplayName как к содержащему свойству, так и к самому классу, но само окно редактора коллекции, похоже, его игнорирует.

(FWIW, это .NET 3.5 в VStudio 2008.)

Какие-либо предложения? Я гуглил (и ТАК !!), пока не посинел.


person Mike Hofer    schedule 23.07.2009    source источник


Ответы (2)


Вы можете переопределить метод ToString, чтобы указать более удобное значение (пример C #)

class MyClass
{
    public string SomeValue { get; set; }

    public override string ToString()
    {
        return string.Format("SomeValue={0}", this.SomeValue);
    }
}
person Fredrik Mörk    schedule 23.07.2009
comment
Здорово! Есть идеи, как мне сделать так, чтобы эта вещь отображалась в виде расширяемого списка в самой сетке, а не полагалась на редактор коллекции? - person Mike Hofer; 23.07.2009
comment
Я не знаю, как добиться этого с помощью массива, но вам следует изучить возможность реализации TypeConverter (как было предложено leppie) и редактора типов пользовательского интерфейса. - person Fredrik Mörk; 23.07.2009

Вы можете переопределить ToString()

  • or -

Реализуйте TypeConvertor для своего класса или собственности.

person leppie    schedule 23.07.2009
comment
Это помогло. Конечно, это было немного сложнее, чем я ожидал, но, безусловно, сработало. Я бы проголосовал за вас еще раз, если бы мог !! - person Mike Hofer; 24.07.2009
comment
@Mike - ты вообще заходил в TypeConverter? если да, можете ли вы предоставить ссылки, код или статьи с описанием необходимых шагов? - person Maslow; 26.05.2011