Вместо использования StackPanel
используйте UniformGrid
Предоставляет способ размещения контента в сетке, где все ячейки в сетке имеют одинаковый размер.
blockquote>и привязать число столбцов к числу элементов в списке и отключить функцию горизонтальной прокрутки.
<ListBox ... ItemsSource="{Binding AllItemsList}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" > <ListBox.ItemsPanel> <ItemsPanelTemplate> <UniformGrid Rows="1" Columns="{Binding AllItemsList.Count}"/> </ItemsPanelTemplate> </ListBox.ItemsPanel> <ListBox.ItemContainerStyle> <Style TargetType="{x:Type ListBoxItem}"> <!-- style --> </Style> </ListBox.ItemContainerStyle> </ListBox>