<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfDemo" x:Class="WpfDemo.InputBar"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="360">
<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<Border Margin="5"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBoxItem Width="100" Height="100" Margin="5" Content="1"/>
<ListBoxItem Width="100" Height="100" Margin="5" Content="2"/>
<ListBoxItem Width="100" Height="100" Margin="5" Content="3"/>
<ListBoxItem Width="100" Height="100" Margin="5" Content="4"/>
<ListBoxItem Width="100" Height="100" Margin="5" Content="5"/>
<ListBoxItem Width="100" Height="100" Margin="5" Content="6"/>
<ListBoxItem Width="100" Height="100" Margin="5" Content="7"/>
<ListBoxItem Width="100" Height="100" Margin="5" Content="8"/>
</ListBox>
</UserControl>
======================================================
如果排出来是纵向列表,原因是Theme错了
如我用的ExpressionDark.xaml作为Theme,修改710行
<StackPanel Margin="1,1,1,1" IsItemsHost="true" />
改为
<ItemsPresenter Margin="1,1,1,1"/>
参考出处: http://stackoverflow.com/questions/4244793/listbox-not-showing-items-horizontally-after-using-theme
另外CodeProject上一文也可以参考:http://www.codeproject.com/Articles/18561/Custom-ListBox-Layout-in-WPF