Я пытаюсь реализовать TListbox Firemonkey с несколькими TListBoxItems. На одном из TListBoxItems я поместил несколько TRadioButtons, просто поместив их на TListBoxItem во время разработки. Когда приложение запущено, визуальное отображение кнопок неустойчиво, когда TListBoxItem прокручивается за пределы экрана и обратно.
Другой вопрос TListBox здесь, в StackOverflow, указывает на то, что TListBox не содержит никаких элементов, кроме TListBoxItem. При этом, похоже, нет такого ограничения, которое я могу найти в отношении TListBoxItem. Я без труда размещал таким образом компоненты TEdit, TLabel и TComboBox.
Чтобы дублировать условие, запустите новое настольное приложение Firemonkey; поместите TListBox на форму и установите для него значение alClient; заполнить TListBox рядом TListBoxItems; установите высоту TListBoxItems или Form так, чтобы при запуске вы могли прокручивать TListBox; поместите три кнопки TRadioButton на самый верхний элемент TListBoxItem; установите имя группы для всех TRadioButtons на одно и то же имя; запустить приложение; выберите TRadioButton, чтобы он казался выбранным; прокрутите TListBox так, чтобы TListBoxItem, содержащий кнопки, прокручивался за пределы формы; прокрутить назад; продолжайте выбирать разные TRadioButtons и прокручивайте до тех пор, пока не обнаружите аномалии.
Вопросы. Первый и, возможно, самый важный: можно ли просто перетаскивать компоненты в TListBoxItem во время разработки? Был ли мой предыдущий успех с этой техникой просто случайным?
Во-вторых, и это также важно для приложения, над которым я работаю, если это НЕ жизнеспособный подход к моему пользовательскому интерфейсу, может ли кто-нибудь предложить лучшие подходы?
ТИА
Я отправил отчет в Центр качества Embarcadero, и после нескольких обменов мнениями с Томохиро-саном и Маркусом Адамсом, который предположил, что проблема связана с прокруткой, пришел к следующему:
Отслеживание различных упомянутых случаев показывает, что существует ряд других случаев, связанных с этим из-за использования прокрутки. Когда элемент прокручивается за пределы экрана, а затем прокручивается назад, система, по-видимому, повторно применяет стили к элементам, которые возвращаются к видимости. По крайней мере, в тех немногих случаях, которые я проследил, это кажется так. Проблема возникает именно при повторном применении стиля и рендеринга. В моих собственных примерах я добавил кнопку, которая отображает свойство IsChecked для элементов управления, и рендеринг не во всех случаях правильно отражает свойство, предполагая, что проблемы возникают из-за стиля/рендеринга.
Связанные проблемы, которые я смог найти:
QC 120593 QC 117381 QC 119638 QC 117658
Я жду решения.
ScrollBox
. Таким образом, вы можете просто добавить компонентTVerticalScrollBox
в форму, затем добавить несколько радиокнопок, а затем попытаться прокрутить. Я столкнулся с этим неделю назад, поэтому я поддерживаю ваш вопрос. ps: насколько я знаю, нет ограничений на размещение других компонентов наTListboxItem
s во время разработки. он должен работать нормально. Но вы должны иметь в виду, что если вам нужно несколько элементов списка, которые выглядят одинаково, вы можете использовать пользовательские стили дляlistboxitem
- person teran   schedule 27.11.2013