【问题标题】:Scrolling of GridView on Windows Store Apps在 Windows 应用商店应用上滚动 GridView
【发布时间】:2014-03-20 12:10:07
【问题描述】:

我对 Windows 应用商店应用程序有以下设计概念,但我坚持采用最佳实施方式:

红色矩形表示页面在实际设备上的视图。该页面由左侧的标题Grid 和右侧的GridView 组成。我想要实现的是,当用户执行滑动手势时,而不是在 GridView 上滚动,我希望滚动整个页面,就像这样:

我通过以下方法设法实现了这一点:

<ScrollViewer HorizontalScrollMode="Enabled">
      <Grid>
          <Grid.ColumnDefinitions>
                <ColumnDefinition Width="600" />
                <ColumnDefinition Width="*" />
          </Grid.ColumnDefinitions>
          <Grid x:Name="LeftHeaderPanel" />
          <GridView Grid.Column="1"  ScrollViewer.HorizontalScrollMode="Disabled" ScrollViewer.VerticalScrollMode="Disabled" />
      </Grid>
</ScrollViewer>

但是,由于某种我不知道的原因,GridView 中的GridViewItems 在我这样设置后显示为StackPanel,这意味着项目不再水平堆叠——而是现在堆叠垂直。

我还发现,通过在GridView 控件上设置Height 属性可以解决问题,但我试图避免显式指定控件高度的需要。有什么出路吗?谢谢!

【问题讨论】:

  • 您如何为GridViewItems 定义DataTemplate ?显示您的 xaml 代码
  • 它与DataTemplate无关,我没有定义任何东西,如果我在GridView中手动放置10个&lt;Grid Width="300" Height="300" /&gt;项目也会出现同样的问题。

标签: microsoft-metro winrt-xaml


【解决方案1】:

试试这个:下面的代码对我有用

使用 Horizo​​ntalScrollBarVisibility 和 VerticalScrollBarVisibility 代替 Horizo​​ntalScrollMode VerticalScrollMode

<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="600" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Grid x:Name="LeftHeaderPanel" />
            <GridView Grid.Column="1"  ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
        </Grid>
 </ScrollViewer>

【讨论】:

    猜你喜欢
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多