ItemsControl控件有一个ItemsPanel属性,其作用是为集合控件中的列表项定义布局面板。通过这种方式可以改变列表项的排列方式。
下面示例将演示如何动态改变ItemsPanel属性来调整ListView控件中列表项的排列方式。
首先在页面的资源集合中声明两个ItemsPanelTemplate实例,分别使用VirtualizingStackPanel和WrapGrid两个布局控件来定义列表项的布局方式。
<Page.Resources>
<ItemsPanelTemplate x:Key="tmpLine">
<VirtualizingStackPanel/>
</ItemsPanelTemplate>
<ItemsPanelTemplate x:Key="tmpWrap">
<WrapGrid Orientation="Horizontal"/>
</ItemsPanelTemplate>
</Page.Resources>
示例应用的主页面布局如下面XAML所示:
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<ListView x:Name="lv">
<ListView.ItemTemplate&g