我正在使用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>
但是这不起作用。 任何build议如何完成GrIDVIEw组内的垂直滚动?
编辑1:
我也试过这个:
<GroupStyle.Panel> <ItemsPanelTemplate> <ScrollVIEwer VerticalScrollbarVisibility="Visible" HorizontalScrollMode="Disabled" ZoomMode="Disabled" VerticalScrollMode="Enabled"> <StackPanel OrIEntation="Vertical" Visibility="Visible" /> </ScrollVIEwer> </ItemsPanelTemplate> </GroupStyle.Panel>
这会打乱deBUGging器,因为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>
使用网格来确保ScrollVIEwer正确缩放非常重要。
那这个呢?
它呈现这样的元素:
项目1项目2
项目3项目4
<ListVIEw WIDth="200"> <ListBoxItem> <TextBlock>Item 1</TextBlock> </ListBoxItem> <ListBoxItem> <TextBlock>Item 2</TextBlock> </ListBoxItem> <ListBoxItem> <TextBlock>Item 3</TextBlock> </ListBoxItem> <ListBoxItem> <TextBlock>Item 4</TextBlock> </ListBoxItem> <ListVIEw.ItemsPanel> <ItemsPanelTemplate> <WrapGrID OrIEntation="Horizontal"/> </ItemsPanelTemplate> </ListVIEw.ItemsPanel> </ListVIEw>
我会把你的元素直接放在滚动查看器中。 喜欢这个:
<GroupStyle.Panel> <ItemsPanelTemplate> <ScrollVIEwer VerticalScrollbarVisibility="Visible" HorizontalScrollMode="Disabled" ZoomMode="Disabled" VerticalScrollMode="Enabled"> <StackPanel OrIEntation="Vertical" Visibility="Visible" /> </ScrollVIEwer> </ItemsPanelTemplate>
兰斯,我希望这有助于
您可能还想要将ScrollVIEwer的缩放模式设置为禁用:)
问候
总结以上是内存溢出为你收集整理的在WinRT XAML中的GridView组内的垂直滚动全部内容,希望文章能够帮你解决在WinRT XAML中的GridView组内的垂直滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)