【问题标题】:XAML Vertical Scrolling Grid within a Horizontal ScrollViewer水平 ScrollViewer 中的 XAML 垂直滚动网格
【发布时间】:2012-10-12 11:51:03
【问题描述】:

我正在尝试在 XAML/C# 中重新创建天气应用程序的布局。我有一个充满 ListViewItems 的ListView。它是ScrollViewer 中的几个对象之一。最终结果应该是用户可以水平滚动对象,但在 ListView 上停止并垂直滚动。

要使效果生效,ScrollViewer 必须与页面高度匹配,ListView 必须与ScrollViewer 高度匹配,但不能拉伸。

如果不使用代码隐藏来查找Window.Current.Bounds 并将高度应用于ScrollViewer,我无法弄清楚如何做到这一点,这似乎是一个肮脏的黑客。有没有办法纯粹在 XAML 中做到这一点?

【问题讨论】:

    标签: c# xaml windows-8 microsoft-metro


    【解决方案1】:

    ListView 有自己的滚动条,不需要 ScrollViewer。否则,要让事情伸展,它应该很容易——你是如何把东西放在 ScrollViewer 中的?通过Grid? StackPanel?

    【讨论】:

    • 应该很简单吧。但事实并非如此。层次结构进入 ScrollViewer > Grid > ListView and Siblings
    • 这不行吗? <ScrollViewer> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> </Grid> <Something Grid.Column="0"/> <ListView Grid.Column="1"> <ListView.View> <GridView ScrollViewer.VerticalScrollBarVisibility="Auto"
    • ScrollViewer.HorizontalScrollBarVisibility="Disabled"> </GridView> </ListView.View> </ListView> <Something Grid.Column="2" /> </ScrollViewer>@roryok
    • XAML 中有一些小错误(网格关闭得太早,ListView.View 不是有效元素 - 我猜应该是 ListViewItem 吗?)但即使这些错误已得到纠正,这也不会为我工作。
    • @roryok 哎呀,忘了</Grid>。很奇怪ListView.View 对你来说不存在……也许这是地铁的事?什么是“不起作用”?它没有编译,什么都没有显示...?
    【解决方案2】:

    这可能是您正在寻找的,但您可能会发现实现“天气应用”的外观和感觉很有用:

    http://dotnetbyexample.blogspot.co.uk/2012/08/a-winrt-behavior-to-turn-flipview-into.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      • 2011-01-12
      • 2021-11-13
      • 2014-01-09
      • 1970-01-01
      相关资源
      最近更新 更多