Нужен совет по настройке шаблона ListBox
У меня есть ListBox значений CheckBox, количество значений меняется время от времени, это может быть 10, 15, 100 и т. Д.
Я хотел бы настроить способ отображения значений. В настоящее время, если у меня есть 50 значений, они все отображаются вертикально, только один столбец.
Мне бы хотелось, чтобы в одном столбце было максимум 10 значений, и я могу прокручивать по горизонтали для просмотра значений в других столбцах.
Я попытался использовать ItemsPanelTemplate с горизонтальной ориентацией StackPanel, но все значения теперь находятся в 1 строке.
Пожалуйста посоветуй.
Спасибо!
1 ответ
Вы можете попробовать изменить панель, используемую вашим ListBox
к WrapPanel
вместо. Установите его Orientation
в Vertical
, тогда измерьте высоту ListBox
поэтому он помещает 10 элементов в каждый "столбец" перед началом нового столбца.
<ListBox Height="..."
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
Если вы хотите 10 элементов в каждом столбце, но не хотите явно устанавливать высоту ListBox
тогда единственное решение, о котором я могу думать, - это написание Panel
,