概述在WinRT XAML中的GridView组内的垂直滚动
我正在使用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组内的垂直滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容