Xaml 如何使ItemsControl垂直换行并水平滚动
我可以使用类似这样的Xaml 如何使ItemsControl垂直换行并水平滚动,xaml,windows-runtime,winrt-xaml,Xaml,Windows Runtime,Winrt Xaml,我可以使用类似这样的列表视图来完成此操作 <ListView ItemsSource="..." ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollMode="Auto" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollMode="Disabl
列表视图来完成此操作
<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>
不过,我并不需要列表视图的所有功能。我宁愿设置一个ItemsControl
,而不是通过重新执行模板/etc来关闭列表视图中所有不需要的功能
如何使用项控件实现这一点?您可以这样做:
<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>
祝你好运。你要找的似乎是GridView
。如果要使用ItemsControl
或ListView
执行此操作,关键是为ItemsPanel
设置的WrapPanel
。内置的是一个WrapGrid
和VariableSizedWrapGrid
,它们具有类似的功能。我不想要所有额外的功能,比如在悬停时突出显示项目。如果我使用GridView
或ListView
的话,我必须更改它们的视觉状态。这一点很好。杰瑞的答案是一个很好的选择。是的,我会尽快尝试。我发誓我以前试过那种精确的配置,但也许没有。我搞砸了一段时间,所以我可能错过了什么。这很好用。我发誓我试过每一种组合,但我一定错过了什么。谢谢