如何让ItemsControl垂直包装并水平滚动

时间:2014-05-11 22:31:38

标签: xaml windows-runtime winrt-xaml

我可以使用ListView这样做。

<ListView ItemsSource="..."
    ScrollViewer.HorizontalScrollBarVisibility="Auto"
    ScrollViewer.HorizontalScrollMode="Auto"
    ScrollViewer.VerticalScrollBarVisibility="Disabled"
    ScrollViewer.VerticalScrollMode="Disabled"
    ScrollViewer.ZoomMode="Disabled"
    SelectionMode="None">
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <callistoControls:WrapPanel Orientation="Vertical" />
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
    <ListView.ItemTemplate>
        <DataTemplate>
            <Button Content="{Binding Title}" Command="..." CommandParameter="..."  />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

我不需要ListView的所有功能。我宁愿只使用ItemsControl项,而不是通过重新制作模板等来关闭ListView中的所有不需要的功能。

如何使用ItemsControl

实现此目的

1 个答案:

答案 0 :(得分:1)

你可以这样做:

<ScrollViewer 
    HorizontalScrollBarVisibility="Auto"
    HorizontalScrollMode="Auto"
    VerticalScrollBarVisibility="Disabled"
    VerticalScrollMode="Disabled"
    ZoomMode="Disabled">
    <ItemsControl ItemsSource="...">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <callistoControls:WrapPanel Orientation="Vertical" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button />
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</ScrollViewer>

祝你好运。