我在WinRT XAML应用程序中使用GridView来显示不同集合的组。除了ItemsPanelTemplate使用一个包装网格,在没有空间时会将我的项目垂直堆叠,一切都运行良好。
因此,我尝试使用StackPanel,代码如下:
但这种方法行不通。有没有建议如何在GridView组内实现垂直滚动?
编辑1: 我也尝试过这个:
这会破坏调试器,因为ItemsPanelTemplate需要一个面板作为子元素。
因此,我尝试使用StackPanel,代码如下:
<GroupStyle.Panel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" Visibility="Visible" />
</ItemsPanelTemplate>
</GroupStyle.Panel>
这些项目被垂直堆叠,这很好,但问题是我现在无法滚动它们,它们也不适合屏幕。因此我尝试启用垂直滚动:
<GroupStyle.Panel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" Visibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollMode="Enabled"/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
但这种方法行不通。有没有建议如何在GridView组内实现垂直滚动?
编辑1: 我也尝试过这个:
<GroupStyle.Panel>
<ItemsPanelTemplate>
<ScrollViewer VerticalScrollBarVisibility="Visible"
HorizontalScrollMode="Disabled"
ZoomMode="Disabled"
VerticalScrollMode="Enabled">
<StackPanel Orientation="Vertical" Visibility="Visible" />
</ScrollViewer>
</ItemsPanelTemplate>
</GroupStyle.Panel>
这会破坏调试器,因为ItemsPanelTemplate需要一个面板作为子元素。
Grid
的MaxHeight
以使滚动条正常工作。 - Marc_Alx