2008-10-23 2 views
5

Я пытаюсь отобразить элементы данных объекта в общем виде. Я начал с использования PropertyGrid, который удовлетворяет моим потребностям в отношении простых свойств. Тем не менее, это не позволяет пользователю развернуть данные в элементах данных. Он позволяет просматривать коллекции, но интерфейс немного неудобен.нужна PropertyGrid с детализацией, похожей на QuickWatch

Я в основном ищу что-то с функциями QuickWatch. Кто-нибудь знает о каких-либо библиотеках, которые могут выполнять развертку?

ответ

0

Я бы использовал элемент управления древовидной структурой, созданный так, чтобы выглядеть как «сетка». Затем, когда вы развернетесь, вы можете динамически загружать любые дочерние элементы, которые вам нужны.

+0

Привет Брайан, я не очень заботиться о том, как это выглядит - мне просто нужна функциональность. Надеюсь, не получив его самостоятельно. – 2008-10-23 14:09:13

2

Конечно, вы можете перейти к свойствам PropertyGrid. Это обширный вопрос, но, возможно, ваши свойства просто должны иметь прикрепленный к ним ExpandableObjectConverter? Или, если вы собираетесь более подробно, подключенный TypeConverter должен переопределить методы GetPropertiesSupported и GetProperties.

Существует еще один способ рассказать сетке, какие свойства показывать под свойством. Вы можете реализовать ICustomTypeDescriptor и вернуть свои собственные PropertyDescriptors. Но обычно это относится к более сложным сценариям.

Сообщите мне, если вам нужна конкретная информация об этом.

Обновление: в комментариях, вы спросили о отображении Словаря. Если вы хотите видеть каждую запись своего dict в качестве подзадачи, то это сложный сценарий, упомянутый выше. Ваш TypeConverter или пользовательский TypeDescriptor должны будут генерировать PropertyDescriptor для каждой записи. Его имя будет ключевым, и его значение будет ... ну ... значение свойства. Если вы новичок в PropertyGrid, я рекомендую вам прочитать много об этом, потому что это может быть довольно сложным, и вы найдете хороший список ресурсов, чтобы начать здесь: www.propertygridresourcelist.com

+0

Привет, Нико, Спасибо, с ExpandableObjectConverter я могу развернуть. Осталось только одно - у меня есть некоторые члены данных, которые являются словарями. Похоже, что PropertyGrid вообще не поддерживает словари. – 2008-10-23 15:14:12

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