Я знаю, что это широкая тема, но, пожалуйста, выслушайте меня.Альтернатива PropertyGrid? Пожалуйста, выслушайте меня
У меня есть несколько случаев, когда мне нужно отредактировать набор связанных свойств. Некоторые из них являются свободным текстом, другой может быть целым числом или паролем, а многие другие имеют предопределенные параметры (selectbox). Мне в основном нужен контейнер, который повторяет строки текста слева с помощью элемента управления справа.
Я не могу использовать PropertyGrid, потому что у меня не всегда есть экземпляр, и у меня возникли трудности с пониманием всех атрибутов и помощников ipropertyeditorservice.
Я не мог использовать DataGrid или DataGridView, потому что они основаны на столбцах. Каждой строке может понадобиться другой тип управления, поэтому столбец, полный любого типа управления, бесполезен.
Я попытался расширить ListView, где я сейчас застрял. Владелец рисует и рисует элементы управления в пределах второго столбца. Это выглядит нормально, но проблема с фиксированной высотой Microsoft является проблемой. Я думаю, что это выходит из мнимая или шрифта, который даже textbox и combobox не могут согласиться на то, чтобы сами по себе размеру и забыть о контрольном списке или что-то еще. Я имею в виду, что обычно это нормально для однострочных элементов управления для моих конкретных настроек рабочего стола, но я не могу контролировать перекрытие при каждом разрешении.
Единственная идея, которую я придумал самостоятельно (помимо отказа от получения или получения чего-то нестандартного и уродливого из System.Windows.Forms.Control) заключается в застревании всех этих субконтроллеров в TableLayoutContainer. Он исправляет проблему с нестандартной высотой, но я теряю функции заголовка и прокрутки ListView.
Я искал альтернативу в течение нескольких недель, и я просто не могу найти. Все заново изобрели datagridview и listview-as-datagrid, даже коммерческие решения. Я не могу поверить, что нет простой замены там, что делает PropertyGrid. Мой ListView - лучший из множества неудач ... что еще я могу сделать?
«Я не могу использовать PropertyGrid, потому что у меня не всегда есть экземпляр»: что вы имеете в виду? – 2010-10-09 20:54:17
Я имею в виду, что PropertyGrid хочет, чтобы я указал его на объект/класс, на который он может отразиться, и я просто хочу, чтобы вы могли перемещать случайные элементы управления вместе. – Ryan