Xaml Listview Windows-通用水平滚动模式

Xaml Listview Windows-Universal Horizontal Scroll Mode

我编写了一个列表,该列表的 Itemsource 是一个 Observable Collection,类型为 Grids。所以列表视图包含 4 个项目(网格)。我希望网格彼此水平相邻,所以我在 Xaml.

中尝试了这个
 <StackPanel Orientation="Horizontal">
                <ListView  ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollMode="Enabled" ItemsSource="{Binding DropGrids, Source={StaticResource view}}" Height="100"  x:Name="DropList" RenderTransformOrigin="0.5,0.5" >
                    <ListView.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Orientation="Horizontal"></StackPanel>
                        </ItemsPanelTemplate>
                    </ListView.ItemsPanel>
                </ListView>
                <AppBarButton Icon="MapPin" Label="Go!" HorizontalAlignment="Right"></AppBarButton>
            </StackPanel>

但是当我尝试向左滚动列表时它会立即返回(如果你想模拟是使用 WGA 分辨率 4 英寸模拟器)并且我在屏幕上看不到第四个网格。我该如何解决? ListView.ItemsPanel 属性 我从这个 post 得到: Whosebug Post - Horizontal Mode

不确定您的 ListView 项目源中的网格部分,但我在博客中介绍了如何在此处创建水平 ListView http://depblog.weblogs.us/2015/03/25/show-items-scrolling-horizontally-with-listview-in-winrt/

希望对您有所帮助...

完整样式设置为

<Style x:Name="BaseListViewStyle" TargetType="ListView">
    <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled" />
    <Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled" />
    <Setter Property="VerticalAlignment" Value="Top" />
    <Setter Property="ItemsPanel">
        <Setter.Value>
            <ItemsPanelTemplate>
                <VirtualizingStackPanel Orientation="Horizontal"
                                    ScrollViewer.HorizontalScrollMode="Enabled"
                                    ScrollViewer.VerticalScrollMode="Disabled"/>
            </ItemsPanelTemplate>
        </Setter.Value>
    </Setter>
</Style>