2013-08-03 1 views
2

Я использую Winforms PropertyGrid; цель SelectedObject включает в себя свойство типа Image. Все в порядке, за исключением того, что при всех элементах одинаковой высоты изображение слишком мало, чтобы правильно видеть. Я хотел бы иметь некоторый контроль над высотой элементов сетки, чтобы изображение могло отображаться немного больше. Еще одна деталь заключается в том, что SelectedObject одного элемента управления PropertyGrid может быть назначен объект любого из множества различных классов (которые могут иметь или не иметь свойств изображения), поэтому я надеюсь, что высота может управляться данными в экземпляре самого SelectedObject, вместо того, чтобы сделать это статическим поведением элемента управления, хотя я бы согласился на собственный атрибут свойства изображения, чтобы сделать высоту элемента по меньшей мере специфичной для класса, если он не может быть специфичным для экземпляра.Winforms PropertyGrid per-GridItem высота строки

Как я могу это сделать? Пользовательский атрибут? PropertyGrid мероприятие? Что-то другое?

+1

Высота строки решетки фиксирована и одинакова для всех свойств (это высота шрифта + 2). Вы не можете это изменить. –

ответ

1

Как Саймон прокомментировал ваш вопрос, это невозможно для пользовательской высоты для GridItem.

У вас есть 2 решения, чтобы иметь возможность показать изображение с разумным размером:

  1. Вы можете написать свой собственный UITypeEditor. Таким образом, пользователь просто щелкнет стрелкой вниз и увидит изображение с хорошим размером в раскрывающемся списке.

  2. Извините за подключаемый модуль, но я думаю, что он напрямую отвечает на ваш вопрос: только сторонняя PropertyGrids может позволить вам получать строки с переменным размером в сетке. Smart PropertyGrid.Net является одним из них. Вы устанавливаете HeightMultiplier в строку так, чтобы она расширялась, скажем, 4 строки. Затем вы кодируете свой собственный класс Look, который обрабатывает рисунок изображения так, как вы хотите в этом пространстве.

+0

Хотя я использую сетку свойств winforms, на самом деле это приложение WPF. Некоторое время назад я просмотрел сетку свойств WPF, но не был доволен тем, что нашел. Проблемы включали поддержку компонентной модели, внутреннюю поддержку типов данных, таких как даты и т. Д. В целом я обнаружил, что базовая сетка свойств winforms, поставляемая с .NET, показала путь наименьшего усилия по программированию для достижения приемлемого внешнего вида и уровня функциональности (приложение было запущено как winforms, развилось в WPF). Если я собираюсь совершить обмен, я бы предпочел посмотреть, что доступно в настоящее время для WPF. – Zenilogix

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

  • Нет связанных вопросов^_^