我怎样才能使窗里面listItems中的8 ListView控件以水平流动。 默认行为是垂直的,但我想,以显示水平流动的列表,以便它可以为全景呈现。
我想其中的GridView不支持横向布局,但没有对项目高度的限制,该不会显示有大量的文字项完整的项目内容。
我怎样才能使窗里面listItems中的8 ListView控件以水平流动。 默认行为是垂直的,但我想,以显示水平流动的列表,以便它可以为全景呈现。
我想其中的GridView不支持横向布局,但没有对项目高度的限制,该不会显示有大量的文字项完整的项目内容。
您可以使用一个ListView是这样的:
<ListView
Height="500"
VerticalAlignment="Center"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
ScrollViewer.HorizontalScrollMode="Enabled"
ScrollViewer.VerticalScrollMode="Disabled"
ScrollViewer.ZoomMode="Disabled"
SelectionMode="None">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel
Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
- 这给了它一个水平面板和水平滚动条右侧滚动条。
当你得到较大的项目无论ListView和GridView控件可能会导致问题。 我觉得默认的项目可能会基于大小的第一项增加的大小。 您可以设置大小手动,但:
<ListView.ItemContainerStyle>
<Style
TargetType="ListViewItem"><!-- note - for GridView you should specify GridViewItem, for ListBox - ListBoxItem, etc. -->
<Setter
Property="Height"
Value="200" /> <!-- this is where you can specify the size of your ListView items -->
<Setter
Property="Width"
Value="350" />
</Style>
</ListView.ItemContainerStyle>
- 请注意,所有项目必须是相同的大小。
-也注意到-我已经改变了这个答案替换StackPanel
与ItemsStackPanel
这是虚拟化的,所以它应该让你的大数据集更好的性能和更低的内存使用率,但请 -不创建大,水平滚动布局名单。 他们可能是在一些非常有限的情况下很好的解决方案,但在大多数情况下,他们将打破许多优秀的用户界面模式,使您的应用程序更难使用。
您也可以使用样式封装Filips方法:
<Style TargetType="ListView" x:Key="VerticalListView">
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled" />
<Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled" />
<Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled" />
<Setter Property="ScrollViewer.ZoomMode" Value="Disabled" />
<Setter Property="SelectionMode" Value="None" />
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel VerticalAlignment="Top" Orientation="Horizontal" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="ListViewItem">
<Setter Property="Height" Value="400" />
</Style>
</Setter.Value>
</Setter>
</Style>
根据需要将它应用到你的列表视图:
<ListView Style="{StaticResource VerticalListView}" />
我宁愿风格的做法,但你必须要小心修改面板方位。 第一视觉布局之前,通过将不会创建的项目控制面板,因此将不提供修改。 你必须找到一个战略来处理设置初始方向,如果它比XAML中的一条线不同。 也许通过风格二传手分配ItemsPanelTemplate为好。