如果只是單純的讓ListBox可以橫向配列,這樣很簡單,只需要更改ListBox的ItemsPanel模板就可以,例如:
<ListBox>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation=”Horizontal” IsItemsHost=”True”/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
但是這樣的修改,ListBox只能橫向排列,不會(huì)根據(jù)寬度自動(dòng)換行,如果想要橫向排列的ListBox支持根據(jù)寬度自動(dòng)換行的話,需要這樣寫:
<ListBox.Template>
<ControlTemplate TargetType=”{x:Type ListBox}”>
<ScrollViewer HorizontalScrollBarVisibility=”Disabled” VerticalScrollBarVisibility=”Auto”>
<WrapPanel Orientation=”Horizontal” IsItemsHost=”True” ScrollViewer.CanContentScroll=”True”/>
</ScrollViewer>
</ControlTemplate>
</ListBox.Template>