我正在尝试使用下面的代码在WP7 silverlight中创建一个水平列表框。这些项目是水平显示的,但滚动仍是垂直的。
我在wpf中做错了吗?这是WP7特定的错误吗?
<Style TargetType="ListBox" x:Name="HorizontalListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"
IsItemsHost="True"
CanHorizontallyScroll="True"
CanVerticallyScroll="False"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
编辑:我错过了似乎产生很大不同的两个属性。 (解决方案来自Mick N.接受的答案中的第二个链接。)
<Style TargetType="ListBox" x:Name="HorizontalListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" IsItemsHost="True" CanHorizontallyScroll="True" CanVerticallyScroll="False"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled"/>
</Style>
最佳答案
这里提出了两种解决方案,您可以尝试一下。
Horizontal Listbox?
How to write a control similar to ListBox, but sliding left to right instead of up and down