您的位置:首页 > 移动开发

WPF中ListBox的WrapPanel布局

2015-10-31 00:52 387 查看


<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: