2014-02-13 3 views
0

Можно ли добавлять/удалять свойства в элементе управления Windows Forms PropertyGrid в зависимости от значения другого булевого свойства?Показать/скрыть свойства ребенка в PropertyGrid

В качестве примера предположим, что выбранный объект имеет свойство boolean ShowTitle. Мне нужно показать TitleFont и TitleColor свойствам, только если для параметра ShowTitle установлено значение true. Кроме того, было бы здорово, если бы объекты TitleFont и TitleColor были детьми объекта ShowTitle.

Если это невозможно, то какие у меня есть другие возможности помимо создания настраиваемого редактора?

Update:

Из того, что я понимаю, это кажется, что PropertyGrid позволяет нам это сделать ...

Expandable property

... но не это (ниже изображение просто макет) ...

Dropdown (mock-up)

+0

Что вы могли бы сделать это повторно использовать класс DynamicTypeDescriptor описанный в моем ответе на этот вопрос здесь, на SO: http://stackoverflow.com/questions/16422844/propertygrid-browsable-not-found-for-entity-framework-created-property-how-to-f –

+0

@Simon, I обновил мой пост. Я пытаюсь выполнить второй случай, то есть пропустить первую строку элемента gridableable grid. –

+0

PropertyGrid очень жестко привязан к краю ... Есть только несколько вещей, которые вы можете сделать в самой отображаемой сетке (редактор типа интерфейса более гибкий). Подэлемент всегда является дочерним элементом элемента. –

ответ

1

Что вы Коула d сделать это повторно использовать класс DynamicTypeDescriptor, описанный в моем ответе на этот вопрос здесь, на SO: PropertyGrid Browsable not found for entity framework created property, how to find it?

Существует также еще один хороший один базовый Зонда же утилита класса: Optimize class for PropertyGrid

Смежные вопросы