【发布时间】: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个<Grid Width="300" Height="300" />项目也会出现同样的问题。
标签: microsoft-metro winrt-xaml