作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 GridView 在 WinRT XAML 应用程序中显示不同项目集的组。一切正常,除了 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 需要一个面板作为子面板。
最佳答案
好的,我终于解决了!可能与谁有关:
<GroupStyle.ContainerStyle>
<Style TargetType="GroupItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupItem">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ContentPresenter Content="{TemplateBinding Content}" Grid.Row="0"/>
<ItemsControl x:Name="ItemsControl2" ItemsSource="{Binding GroupItems}" Grid.Row="1">
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer x:Name="ScrollViewer" VerticalScrollBarVisibility="Hidden" VerticalScrollMode="Enabled" HorizontalScrollBarVisibility="Disabled" HorizontalScrollMode="Disabled">
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
</ItemsControl>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
使用 Grid 确保 ScrollViewer 正确缩放很重要。
关于windows - 在 WinRT XAML 中的 GridView 项目组内垂直滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135480/
我有一个项目组,其中包含一个可能包含也可能不包含文件的位置。如果在声明项目组时没有文件存在,是否可以在以后重新评估项目组以获取可能在新位置生成的文件,或者我是否必须声明一个此时使用相同的项目组并使用它
我正在尝试编译 Virtual Treeview 中的两个组件(VirtualTreesR.bpl 和 VirtualTreesD.bpl),我将它们合并到一个名为 VirtualTrees.grou
我是一名优秀的程序员,十分优秀!